IDEA-136162 (type annotations in anonymous classes)
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Mon, 9 Feb 2015 18:23:15 +0000 (19:23 +0100)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Mon, 9 Feb 2015 18:23:15 +0000 (19:23 +0100)
java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiAnnotationImpl.java
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java

index bdc3a2f1003b77c9edc97241773203924733c170..0bf1753614254befa20a944e858e0f5a6f6aa978 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -132,7 +132,10 @@ public class PsiAnnotationImpl extends JavaStubPsiElement<PsiAnnotationStub> imp
     }
     else if (parent instanceof PsiJavaCodeReferenceElement) {
       PsiElement ctx = PsiTreeUtil.skipParentsOfType(parent, PsiJavaCodeReferenceElement.class);
-      if (ctx instanceof PsiReferenceList || ctx instanceof PsiNewExpression || ctx instanceof PsiTypeElement) {
+      if (ctx instanceof PsiReferenceList ||
+          ctx instanceof PsiNewExpression ||
+          ctx instanceof PsiTypeElement ||
+          ctx instanceof PsiAnonymousClass) {
         return new PsiClassReferenceType((PsiJavaCodeReferenceElement)parent, null);
       }
     }
index 01f7486ea89a1e400389433fd1a2964be4589f77..c1fbcaf07cd631eea83fce0f87f7e14b333d91a3 100644 (file)
@@ -59,6 +59,7 @@ class Outer {
   {
     new @TA Object();
     new @TA ArrayList<String>();
+    new @TA Runnable() { public void run() { } }.run();
 
     ArrayList<String> var = new <String> @TA ArrayList();
     new @TA Outer().new @TA Middle();