mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 00:11:26 +07:00
isEffectivelyFinal: disallow effectively final variables to be initialized twice (IDEA-165060)
This commit is contained in:
+12
@@ -175,4 +175,16 @@ class AssignmentToFinalInsideLambda {
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
class NonInitializedButWrittenTwice {
|
||||
private void test(boolean b) {
|
||||
int s;
|
||||
if(b) {
|
||||
s = 1;
|
||||
J is = () -> <error descr="Variable used in lambda expression should be final or effectively final">s</error>;
|
||||
System.out.println(is.m());
|
||||
}
|
||||
<error descr="Variable 's' might not have been initialized">s</error>++;
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// "Replace with collect" "false"
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
class Main {
|
||||
public List<Integer> test(boolean b, List<String> list) {
|
||||
int s;
|
||||
if(b) {
|
||||
s = 1;
|
||||
}
|
||||
List<Integer> result = new ArrayList<>();
|
||||
for(String str : li<caret>st) {
|
||||
if(str != null) {
|
||||
result.add(s++);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user