diff options
Diffstat (limited to 'java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java')
-rw-r--r-- | java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java index 7ef19f2b73d0..7539d7195701 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java @@ -591,12 +591,14 @@ public class ControlFlowAnalyzer extends JavaElementVisitor { generateBoxingUnboxingInstructionFor(caseExpression, PsiType.INT); final PsiClass psiClass = PsiUtil.resolveClassInType(caseExpression.getType()); - if (psiClass != null && psiClass.isEnum()) { + if (psiClass != null) { addInstruction(new FieldReferenceInstruction(caseExpression, "switch statement expression")); - enumValues = new HashSet<PsiEnumConstant>(); - for (PsiField f : psiClass.getFields()) { - if (f instanceof PsiEnumConstant) { - enumValues.add((PsiEnumConstant)f); + if (psiClass.isEnum()) { + enumValues = new HashSet<PsiEnumConstant>(); + for (PsiField f : psiClass.getFields()) { + if (f instanceof PsiEnumConstant) { + enumValues.add((PsiEnumConstant)f); + } } } } else { |