From 2607a441fe2eb2fbc062ca519ed29283f36b4cf7 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 2 Nov 2012 15:34:17 +0100 Subject: [PATCH] process add enum annotations specifics (IDEA-94090) --- .../psi/impl/source/tree/java/PsiAnnotationImpl.java | 3 +++ .../advHighlighting7/AnnotationApplicability.java | 8 ++++++++ .../codeInsight/daemon/LightAdvHighlightingJdk7Test.java | 1 + 3 files changed, 12 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationApplicability.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiAnnotationImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiAnnotationImpl.java index 60f613f5d977..62a41606e0a8 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiAnnotationImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiAnnotationImpl.java @@ -133,6 +133,9 @@ public class PsiAnnotationImpl extends JavaStubPsiElement imp PsiAnnotationOwner typeElement; if (member instanceof PsiVariable) { + if (member instanceof PsiEnumConstant && parent instanceof PsiAnnotationOwner){ + return (PsiAnnotationOwner)parent; + } typeElement = ((PsiVariable)member).getTypeElement(); } else if (member instanceof PsiMethod && !((PsiMethod)member).isConstructor()) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationApplicability.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationApplicability.java new file mode 100644 index 000000000000..2a312f98631c --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationApplicability.java @@ -0,0 +1,8 @@ +enum E +{ + @D + VAR +} + +@interface D { +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java index e597ac96ea10..9dc3dcff283d 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java @@ -169,4 +169,5 @@ public class LightAdvHighlightingJdk7Test extends LightDaemonAnalyzerTestCase { public void testUncheckedWarningIDEA70620() throws Exception { doTest(true, false); } public void testUncheckedWarningIDEA60166() throws Exception { doTest(true, false); } public void testUncheckedWarningIDEA21432() throws Exception { doTest(true, false); } + public void testAnnotationApplicability() throws Exception { doTest(true, false); } }