From 8284bd7436ce3cbd1dc5a9fb1f49ed2b531f7d72 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Wed, 3 Jul 2013 17:31:11 +0400 Subject: [PATCH] IDEA-109503 don't highlight enum constants as unassigned --- .../finalVar/GrFinalVariableAccessInspection.java | 2 ++ .../inspections/GrFinalVariableAccessTest.groovy | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/control/finalVar/GrFinalVariableAccessInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/control/finalVar/GrFinalVariableAccessInspection.java index e10a91e100ab..f988749f47a7 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/control/finalVar/GrFinalVariableAccessInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/control/finalVar/GrFinalVariableAccessInspection.java @@ -36,6 +36,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpres import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrEnumConstant; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.controlFlow.Instruction; import org.jetbrains.plugins.groovy.lang.psi.controlFlow.ReadWriteVariableInstruction; @@ -277,6 +278,7 @@ public class GrFinalVariableAccessInspection extends BaseInspection { } private static boolean isFieldInitialized(@NotNull GrField field) { + if (field instanceof GrEnumConstant) return true; if (field.getInitializerGroovy() != null) return true; final boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GrFinalVariableAccessTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GrFinalVariableAccessTest.groovy index c2063c8d8ba8..564a7940fbf6 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GrFinalVariableAccessTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GrFinalVariableAccessTest.groovy @@ -496,6 +496,16 @@ class Aaa { this.bar = p // this one is not reported } } +''') + } + + void testEnumConstants() { + testHighlighting('''\ +enum E { + abc, cde + + final int x +} ''') } }