diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaGenerateMemberCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaGenerateMemberCompletionContributor.java index 39d32f99669e..60f6f68c70f5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaGenerateMemberCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaGenerateMemberCompletionContributor.java @@ -88,7 +88,7 @@ public class JavaGenerateMemberCompletionContributor { private static void addGetterSetterElements(CompletionResultSet result, PsiClass parent, Set addedSignatures) { int count = 0; for (PsiField field : parent.getFields()) { - if (field instanceof PsiEnumConstant) continue; + if (isConstant(field)) continue; List prototypes = ContainerUtil.newSmartList(); try { @@ -116,6 +116,10 @@ public class JavaGenerateMemberCompletionContributor { } } + private static boolean isConstant(PsiField field) { + return field.hasModifierProperty(PsiModifier.FINAL) && field.hasModifierProperty(PsiModifier.PUBLIC) && field.hasModifierProperty(PsiModifier.STATIC); + } + private static void removeLookupString(InsertionContext context) { context.getDocument().deleteString(context.getStartOffset(), context.getTailOffset()); context.commitDocument(); diff --git a/java/java-tests/testData/codeInsight/completion/normal/NoSetterForFinalField.java b/java/java-tests/testData/codeInsight/completion/normal/NoSetterForFinalField.java index 8b42940aa4fc..8ebe70c4615c 100644 --- a/java/java-tests/testData/codeInsight/completion/normal/NoSetterForFinalField.java +++ b/java/java-tests/testData/codeInsight/completion/normal/NoSetterForFinalField.java @@ -1,5 +1,6 @@ public class A { final int finalField; + public static final int CONSTANT = 239; publ } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy index bbde0698bd88..6c27d3c07b70 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy @@ -1554,6 +1554,7 @@ class XInternalError {} configure() myFixture.assertPreferredCompletionItems 0, 'public', 'public int getFinalField' assert !myFixture.lookupElements.find { it.lookupString == 'public void setFinalField' } + assert !myFixture.lookupElements.find { it.lookupString == 'public int getCONSTANT' } } void testBraceOnNextLine() {