Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting8/FinalVariableMightNotHaveBeenInitializedInsideLambda.java
Tagir Valeev cc643a5ae4 [java-highlighting] More control-flow-related stuff migrated
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 3c292fdf4869e6d13c16fabbf42e2055ea54f724
2025-02-06 10:35:32 +00:00

105 lines
2.1 KiB
Java

class Test {
final Runnable runnable;
{
runnable = () -> System.out.println(<error descr="Variable 'runnable' might not have been initialized">runnable</error>);
}
final Runnable runnable1;
{
runnable1 = new Runnable() {
@Override
public void run() {
System.out.println(runnable1);
}
};
}
}
abstract class TestInnerAnonymous {
void foo() {
new Object() {
final Runnable runnable;
{
runnable = () -> System.out.println(<error descr="Variable 'runnable' might not have been initialized">runnable</error>);
}
final Runnable runnable1;
{
runnable1 = new Runnable() {
@Override
public void run() {
System.out.println(runnable1);
}
};
}
};
}
private static class MyObject {
final Runnable runnable;
{
runnable = () -> System.out.println(<error descr="Variable 'runnable' might not have been initialized">runnable</error>);
}
final Runnable runnable1;
{
runnable1 = new Runnable() {
@Override
public void run() {
System.out.println(runnable1);
}
};
}
}
}
interface Fun<A, B> {
B m(A a);
}
class TestAnonymousWithRefToTheTopLevelUninitializedField {
private final int myId;
private Runnable r = new Runnable() {
final int localId;
{
localId = 0;
}
Fun<Integer, Integer> ff = (a) -> <error descr="Variable 'myId' might not have been initialized">myId</error>;
Fun<Integer, Integer> ffLocal = (a) -> localId;
public void run() {
}
};
public TestAnonymousWithRefToTheTopLevelUninitializedField(int id) {
myId = id;
}
}
class TestThisQualified {
final String s;
final Runnable r = () -> System.out.println(<error descr="Variable 's' might not have been initialized">this.s</error>.length());
final Runnable r2 = () -> System.out.println(this.r2);
final Runnable r3;
{
r3 = () -> System.out.println(<error descr="Variable 'r3' might not have been initialized">this.r3</error>);
}
public TestThisQualified() {
s = "";
}
}