V created GROOVY-10580:
--------------------------

             Summary: Conditionally initialized `final` variables considered 
maybe uninitialized
                 Key: GROOVY-10580
                 URL: https://issues.apache.org/jira/browse/GROOVY-10580
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 4.0.1
            Reporter: V


Running the following in `groovyConsole`:

```
final int i
final boolean a = true
if (a) {
  i = 1
} else {
  throw new IllegalStateException('a is false')
}
println "i = $i"
```

would give me:

```
1 compilation error:

The variable [i] may be uninitialized
. At [9:15]  at line: 9, column: 15
```

It seems groovyc does not take throwing an exception as a non-reachable branch.

This code is almost a verbatim copy from a java code that is working.

This looks similar to GROOVY-8472, and a few others.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to