Mauro Molinari created GROOVY-7507: -------------------------------------- Summary: Cannot assign value of type java.lang.Object in ternary operator with null Key: GROOVY-7507 URL: https://issues.apache.org/jira/browse/GROOVY-7507 Project: Groovy Issue Type: Bug Components: Static Type Checker Affects Versions: 2.4.4, 2.4.3 Reporter: Mauro Molinari Assignee: Cédric Champeau
This seems to be something like a regression of GROOVY-5734. The following fails in Groovy 2.4.3/2.4.4, while it didn't fail in Groovy 2.3.11: {code:title=Bar.java} package test2; public class Bar { } {code} {code:title=Foo.java} package test2; public class Foo { private Bar bar; public void setBar(Bar bar) { this.bar = bar; } public Bar getBar() { return bar; } } {code} {code:title=Test.groovy} package test2 import groovy.transform.CompileStatic; @CompileStatic public class Test { void test() { boolean check = true Foo foo = new Foo() foo.bar = check? new Bar(): null } } {code} The assignment to {{foo.bar}} fails with:{{Cannot assign value of type java.lang.Object to variable of type test2.Bar}}. The same heppens if {{Foo}} is written in Groovy instead of Java. -- This message was sent by Atlassian JIRA (v6.3.4#6332)