From e0cb0eb1de54ad55de0936f7bf84b3190759e45b Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Fri, 26 Feb 2016 11:24:05 +0300 Subject: [PATCH] Highlight super and this as keywords --- .../idea/highlighter/TypeKindHighlightingVisitor.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java index e9eecb1d196..4f3a44aec02 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java @@ -22,10 +22,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.descriptors.*; -import org.jetbrains.kotlin.psi.KtClassOrObject; -import org.jetbrains.kotlin.psi.KtDynamicType; -import org.jetbrains.kotlin.psi.KtSimpleNameExpression; -import org.jetbrains.kotlin.psi.KtTypeParameter; +import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.resolve.BindingContext; @@ -36,6 +33,12 @@ class TypeKindHighlightingVisitor extends AfterAnalysisHighlightingVisitor { @Override public void visitSimpleNameExpression(@NotNull KtSimpleNameExpression expression) { + PsiElement parent = expression.getParent(); + if (parent instanceof KtSuperExpression || parent instanceof KtThisExpression) { + // Do nothing: 'super' and 'this' are highlighted as a keyword + return; + } + if (NameHighlighter.INSTANCE.getNamesHighlightingEnabled()) { DeclarationDescriptor referenceTarget = bindingContext.get(BindingContext.REFERENCE_TARGET, expression); if (referenceTarget instanceof ConstructorDescriptor) {