Isaac Dooley created GROOVY-8327: ------------------------------------ Summary: Parser regression. Can't accesss static instance method before class is constructed Key: GROOVY-8327 URL: https://issues.apache.org/jira/browse/GROOVY-8327 Project: Groovy Issue Type: Bug Affects Versions: 2.6.0-alpha-1 Environment: groovc command line on linux Reporter: Isaac Dooley
The parser in 2.6.0-alpha-1 gives a MultipleCompilationErrorsException on code that was compiled in 2.4.12. {code:title=Code that fails to compile on 2.6.0-alpha-1} class A { static String g() { } A() { this({g()}) // It is ok to create a closure that calls g() in a constructor, but not if it is being passed into this(). } A(a) { } } {code} {code:title=compilation error message} $ groovyc test.groovy org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: test.groovy: 4: Can't access instance method 'g' before the class is constructed @ line 4, column 15. this({g()}) // It is ok to create a closure that calls g() in a constructor, but not if it is being passed into this(). ^ 1 error {code} My opinion is that groovy should allow users to call a static method inside a constructor before the instance has been fully constructed, but I'm not aware of the details of why this is disallowed in 2.6.0-alpha-1. -- This message was sent by Atlassian JIRA (v6.4.14#64029)