constructorbug.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 37 行

GROOVY
37
字号
import org.codehaus.groovy.runtime.InvokerHelper
import java.io.File

/**
 * @author Jason Thomas
 * @version $Revision: 2285 $
 */
class ConstructorBug extends GroovyTestCase {
    
    void testBug() {
        def type = new GroovyClassLoader().parseClass(new File("src/test/groovy/bugs/TestBase.groovy"))
        assert type != null

        println "created type: ${type}"
        
        type = new GroovyClassLoader().parseClass(new File("src/test/groovy/bugs/TestDerived.groovy"))
        assert type != null

        println "created type: ${type} of type: ${type.class}"

        def mytest = InvokerHelper.invokeConstructorOf(type, ["Hello"] as Object[])
        assert mytest.foo == "Hello"
        /** @todo fix bug
        */
        
        /*
        def test = type.newInstance()
        assert test.foo == null
        */
        
//foo = new type('hello')
        /*
        */
        mytest = new TestDerived("Hello")
        assert mytest.foo == "Hello"
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?