From 045270672712171c485cc20b2f9536ca165623d4 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 10 Sep 2013 13:53:11 +0400 Subject: [PATCH] Don't add debug highlighting for references in unsupported elements --- .../org/jetbrains/jet/checkers/DebugInfoUtil.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/checkers/DebugInfoUtil.java b/compiler/frontend/src/org/jetbrains/jet/checkers/DebugInfoUtil.java index affbe85a46c..ef3a9488617 100644 --- a/compiler/frontend/src/org/jetbrains/jet/checkers/DebugInfoUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/checkers/DebugInfoUtil.java @@ -20,16 +20,14 @@ import com.google.common.collect.Maps; import com.intellij.psi.PsiElement; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetNodeTypes; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.Errors; -import org.jetbrains.jet.lang.psi.JetReferenceExpression; -import org.jetbrains.jet.lang.psi.JetSimpleNameExpression; -import org.jetbrains.jet.lang.psi.JetSuperExpression; -import org.jetbrains.jet.lang.psi.JetTreeVisitorVoid; +import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.types.ErrorUtils; @@ -74,6 +72,12 @@ public class DebugInfoUtil { else if (factory == Errors.EXPRESSION_EXPECTED_NAMESPACE_FOUND) { markedWithErrorElements.put((JetSimpleNameExpression) diagnostic.getPsiElement(), factory); } + else if (factory == Errors.UNSUPPORTED) { + for (JetReferenceExpression reference : PsiTreeUtil.findChildrenOfType(diagnostic.getPsiElement(), + JetReferenceExpression.class)) { + markedWithErrorElements.put(reference, factory); + } + } } root.acceptChildren(new JetTreeVisitorVoid() {