[ 
https://issues.apache.org/jira/browse/GROOVY-7507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles reassigned GROOVY-7507:
-----------------------------------

    Assignee: Eric Milles

> 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.3, 2.4.4
>            Reporter: Mauro Molinari
>            Assignee: Eric Milles
>            Priority: Major
>
> 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
(v8.20.10#820010)

Reply via email to