diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/CommonDataflow.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/CommonDataflow.java
index ccee47604b6c..6236ddba1c6a 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/CommonDataflow.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/CommonDataflow.java
@@ -88,9 +88,10 @@ public class CommonDataflow {
private static DataflowResult getDataflowResult(PsiElement context) {
PsiMember member = PsiTreeUtil.getParentOfType(context, PsiMember.class);
- if(!(member instanceof PsiMethod)) return null;
+ if(!(member instanceof PsiMethod) && !(member instanceof PsiClassInitializer)) return null;
return CachedValuesManager.getCachedValue(member, () -> {
- PsiCodeBlock body = ((PsiMethod)member).getBody();
+ PsiCodeBlock body = member instanceof PsiMethod ? ((PsiMethod)member).getBody()
+ : ((PsiClassInitializer)member).getBody();
DataflowResult result = runDFA(body);
return CachedValueProvider.Result.create(result, PsiModificationTracker.MODIFICATION_COUNT);
});
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/simplifiable_equals_expression/SimplifiableEqualsExpression.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/simplifiable_equals_expression/SimplifiableEqualsExpression.java
index d66fa185b565..9c538752701c 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/simplifiable_equals_expression/SimplifiableEqualsExpression.java
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/simplifiable_equals_expression/SimplifiableEqualsExpression.java
@@ -50,6 +50,16 @@ public class SimplifiableEqualsExpression {
System.out.println("...");
}
}
+
+ private static final boolean DEBUG = false;
+
+ {
+ String s1 = DEBUG ? "null" : null;
+
+ if(s1 == null || !s1.equals("")) {
+ System.out.println("...");
+ }
+ }
void test(List list) {
String s = list.get(0);