[ https://issues.apache.org/jira/browse/GROOVY-7014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-7014. ----------------------------- > A Java compile time error results in a runtime exception in Groovy > ------------------------------------------------------------------ > > Key: GROOVY-7014 > URL: https://issues.apache.org/jira/browse/GROOVY-7014 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Affects Versions: 2.3.4, 2.4.0-rc-1 > Environment: Window 7 > Reporter: Harminder Singh > Assignee: Paul King > Priority: Minor > Fix For: 2.5.0-alpha-1 > > > A Groovy class with CompileStatic annotation exhibit a different behavior > than Java. The following code results in a compile time error in Java, but > throws a runtime exception in Groovy. > {code} > @CompileStatic > class Base > { > String getData() { return "ABCD" } > Base() { this(getData()) } // Calling an instance method before the class > is constructed > Base(String arg) {} > } > @CompileStatic > public class GMain > { > public static void main(String[] args) > { > Base b = new Base(); > } > } > {code} > Java produces: > {noformat} > Java Compiler error: Error:(11, 11) java: cannot reference this before > supertype constructor has been called > {noformat} > Groovy produces: > {noformat} > Groovy Runtime Error details: > Exception in thread "main" java.lang.ClassCastException: java.lang.Class > cannot be cast to main.groovy.Base > at main.groovy.Base.<init>(Base.groovy:9) > at main.groovy.Derived.<init>(Derived.groovy) > at main.groovy.GMain.main(Base.groovy:18) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ...... > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)