[groovy] don't highlight code references with errors in unknown files outside roots (IDEA-210007)

This commit is contained in:
Daniil Ovchinnikov
2019-04-10 18:52:02 +03:00
parent 49505a205a
commit 0544130e4e
2 changed files with 7 additions and 0 deletions
@@ -24,6 +24,10 @@ public class GrReferenceHighlighterFactory implements TextEditorHighlightingPass
return groovyFile instanceof GroovyFileBase ? new GrReferenceHighlighter(editor.getDocument(), (GroovyFileBase)groovyFile) : null;
}
static boolean shouldHighlight(@NotNull PsiFile file) {
return file instanceof GroovyFileBase && shouldHighlight((GroovyFileBase)file);
}
static boolean shouldHighlight(@NotNull GroovyFileBase file) {
return isSpecificScriptFile(file) || GrFileIndexUtil.isGroovySourceFile(file);
}
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiClass
import com.intellij.psi.util.PsiUtil.isInnerClass
import com.intellij.psi.util.parentOfType
import org.jetbrains.plugins.groovy.GroovyBundle.message
import org.jetbrains.plugins.groovy.annotator.GrReferenceHighlighterFactory.shouldHighlight
import org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.generateAddImportActions
import org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.generateCreateClassActions
import org.jetbrains.plugins.groovy.lang.groovydoc.psi.api.GroovyDocPsiElement
@@ -21,6 +22,8 @@ import org.jetbrains.plugins.groovy.lang.psi.util.GrStaticChecker.isInStaticCont
import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.hasEnclosingInstanceInScope
fun checkUnresolvedCodeReference(ref: GrCodeReferenceElement, annotationHolder: AnnotationHolder) {
if (!shouldHighlight(annotationHolder.currentAnnotationSession.file)) return
if (ref.parentOfType<GroovyDocPsiElement>() != null) return
if (ref.parent is GrPackageDefinition) return