Robert Kish created MCOMPILER-228:
-------------------------------------

             Summary: cannot assign a value to final variable in lamda
                 Key: MCOMPILER-228
                 URL: https://jira.codehaus.org/browse/MCOMPILER-228
             Project: Maven Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.1
         Environment: Windows 7 64 bit, Maven 3.2.2, JDK 64 bit 8u5
            Reporter: Robert Kish
            Priority: Minor
         Attachments: FinalExample.java

Code example compiles in Eclipse, but not with Maven Compiler Plugin. Code is 
like below (inside a lamda expression)
final x;
if (some condition)
x = a;
else if (some other condition)
x = b;
else 
x = c;

See attached example source.

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on 
project MediaIndexer: Compilation failure: Compilation failure:
[ERROR] /C:/MAPS/MediaIndexer/src/main/java/example/FinalExample.java:[11,13] 
cannot assign a value to final variable compareTo
[ERROR] /C:/MAPS/MediaIndexer/src/main/java/example/FinalExample.java:[14,13] 
cannot assign a value to final variable compareTo
[ERROR] /C:/MAPS/MediaIndexer/src/main/java/example/FinalExample.java:[17,13] 
cannot assign a value to final variable compareTo

The workaround is to remove final for the variable and just ensure that the 
value is assigned in each code path.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to