mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 15:27:45 +07:00
IDEA-126660 Incorrect 'condition is always true' for a final field if an overridden method is called from the constructor
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
class Parent {
|
||||
Parent() {
|
||||
callProtectedMethod();
|
||||
}
|
||||
protected void callProtectedMethod() { }
|
||||
}
|
||||
|
||||
class Child extends Parent {
|
||||
private final Object myField;
|
||||
Child() {
|
||||
super();
|
||||
myField = new Object();
|
||||
}
|
||||
@Override
|
||||
protected void callProtectedMethod() {
|
||||
if (myField != null) { // HERE myField CAN be null
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,6 +174,7 @@ public class DataFlowInspectionTest extends LightCodeInsightFixtureTestCase {
|
||||
|
||||
public void testTransientFinalField() { doTest(); }
|
||||
public void testFinalFieldDuringInitialization() { doTest(); }
|
||||
public void testFinalFieldDuringSuperInitialization() { doTest(); }
|
||||
public void _testSymmetricUncheckedCast() { doTest(); } // http://youtrack.jetbrains.com/issue/IDEABKL-6871
|
||||
public void testNullCheckDoesntAffectUncheckedCast() { doTest(); }
|
||||
public void testThrowNull() { doTest(); }
|
||||
|
||||
Reference in New Issue
Block a user