From a4d11458f73a6689189768cd58371836db0afeb8 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Thu, 13 Mar 2014 16:16:10 +0400 Subject: [PATCH] IDEA-122052 Groovy: blinking red highlighting Any code inside annotations is never compile-static. So don't waste time for inferring. More over it can lead to incorrect result of isCompileStatic() if the inference is started inside @TypeChecked(...) annotation. --- .../org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java index bbdd353b51a4..4d24e33fc332 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java @@ -49,6 +49,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.GrModifier; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.GrModifierList; +import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotation; import org.jetbrains.plugins.groovy.lang.psi.api.signatures.GrClosureSignature; import org.jetbrains.plugins.groovy.lang.psi.api.signatures.GrSignature; import org.jetbrains.plugins.groovy.lang.psi.api.statements.*; @@ -1244,7 +1245,7 @@ public class PsiUtil { } public static boolean isCompileStatic(PsiElement e) { - PsiMember containingMember = PsiTreeUtil.getParentOfType(e, PsiMember.class, false); + PsiMember containingMember = PsiTreeUtil.getParentOfType(e, PsiMember.class, false, GrAnnotation.class); return containingMember != null && GroovyPsiManager.getInstance(containingMember.getProject()).isCompileStatic(containingMember); }