Dominik Przybysz created GROOVY-8281: ----------------------------------------
Summary: Final field is null in trait, but it has value Key: GROOVY-8281 URL: https://issues.apache.org/jira/browse/GROOVY-8281 Project: Groovy Issue Type: Bug Affects Versions: 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8 Reporter: Dominik Przybysz I have a code like this: {code} trait MyTrait { final String myValue = "test" final Wrapper wrapper = new Wrapper(myValue) } class Wrapper { Wrapper(String value){ if(value == null) { throw new Exception("Value is null!!!") } println "OK: $value" } } class Main implements MyTrait {} new Main() {code} Everything works as expected with groovy 2.4.7: {code} $ sdk u groovy 2.4.7 Using groovy version 2.4.7 in this shell. $ groovy bug.groovy OK: test {code} but newer versions of groovy do not compile this code (2.4.8, 2.4.9, 2.4.10) or have null to value (2.4.11, 2.4.12): {code} $ sdk u groovy 2.4.8 Using groovy version 2.4.8 in this shell. $ groovy bug.groovy org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: ~/bug.groovy: 3: Apparent variable 'myValue' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes: You attempted to reference a variable in the binding or an instance variable from a static context. You misspelled a classname or statically imported field. Please check the spelling. You attempted to use a method 'myValue' but left out brackets in a place not allowed by the grammar. @ line 3, column 38. final Wrapper wrapper = new Wrapper(myValue) ^ 1 error $ sdk u groovy 2.4.9 Using groovy version 2.4.9 in this shell. $ groovy bug.groovy org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: ~/bug.groovy: 3: Apparent variable 'myValue' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes: You attempted to reference a variable in the binding or an instance variable from a static context. You misspelled a classname or statically imported field. Please check the spelling. You attempted to use a method 'myValue' but left out brackets in a place not allowed by the grammar. @ line 3, column 38. final Wrapper wrapper = new Wrapper(myValue) ^ ~/bug.groovy: 3: Apparent variable 'myValue' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes: You attempted to reference a variable in the binding or an instance variable from a static context. You misspelled a classname or statically imported field. Please check the spelling. You attempted to use a method 'myValue' but left out brackets in a place not allowed by the grammar. @ line 3, column 38. final Wrapper wrapper = new Wrapper(myValue) ^ 2 errors $ sdk u groovy 2.4.10 Using groovy version 2.4.10 in this shell. $ groovy bug.groovy org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: ~/bug.groovy: 3: Apparent variable 'myValue' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes: You attempted to reference a variable in the binding or an instance variable from a static context. You misspelled a classname or statically imported field. Please check the spelling. You attempted to use a method 'myValue' but left out brackets in a place not allowed by the grammar. @ line 3, column 38. final Wrapper wrapper = new Wrapper(myValue) ^ ~/bug.groovy: 3: Apparent variable 'myValue' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes: You attempted to reference a variable in the binding or an instance variable from a static context. You misspelled a classname or statically imported field. Please check the spelling. You attempted to use a method 'myValue' but left out brackets in a place not allowed by the grammar. @ line 3, column 38. final Wrapper wrapper = new Wrapper(myValue) ^ 2 errors $ sdk u groovy 2.4.11 Using groovy version 2.4.11 in this shell. $ groovy bug.groovy Caught: java.lang.Exception: Value is null!!! java.lang.Exception: Value is null!!! at Wrapper.<init>(bug.groovy:9) at MyTrait$Trait$Helper.$init$(bug.groovy:3) at Main.<init>(bug.groovy) at bug.run(bug.groovy:17) $ sdk u groovy 2.4.12 Using groovy version 2.4.12 in this shell. $ groovy bug.groovy Caught: java.lang.Exception: Value is null!!! java.lang.Exception: Value is null!!! at Wrapper.<init>(bug.groovy:9) at MyTrait$Trait$Helper.$init$(bug.groovy:3) at Main.<init>(bug.groovy) at bug.run(bug.groovy:17) {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)