将方法参数传递给内联接口实现时的编译错误

时间:2014-09-26 10:59:11

标签: groovy

查看以下Groovy代码示例:

class PersonCreator {

    static void main(String[] args) {
        println createPerson('Smith')
    }

    static createPerson(String aLastname) {
        new Person() {
            final String firstname = 'John'
            final String lastname = aLastname
        }
    }
}

interface Person {
    String getFirstname()
    String getLastname()
}

当我尝试运行时,抛出异常 Exception in thread "main" groovy.lang.MissingPropertyException: No such property: aLastname for class: PersonCreator

完全相同的代码在Groovy 2.3.2中运行良好,但在版本2.3.3及更高版本中它失败了。我应该在Groovy JIRA中提出一个错误还是一个功能?

编辑:出于某种原因,添加了@CompileStatic的上述示例编译失败了Error:(1, 1) Groovyc: [Static type checking] - Unimplemented node type

0 个答案:

没有答案