From 53ef521a8f0f368046ab441acc6380c15d4a36c6 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 8 Apr 2015 16:44:45 +0300 Subject: [PATCH] Deparenthesizing this expression. --- .../idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt | 3 ++- .../codeInsight/lineMarker/recursiveCall/thisQualifier.kt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt index f2051e5ebfa..df58f2bae73 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt @@ -80,7 +80,8 @@ public class KotlinRecursiveCallLineMarkerProvider() : LineMarkerProvider { val receiverOwner = when (receiver) { is ExpressionReceiver -> { - val thisRef = (receiver.getExpression() as? JetThisExpression)?.getInstanceReference() ?: return true + val thisRef = (JetPsiUtil.deparenthesize(receiver.getExpression()) as? + JetThisExpression)?.getInstanceReference() ?: return true bindingContext[BindingContext.REFERENCE_TARGET, thisRef] ?: return true } diff --git a/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt b/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt index d4a36ec801c..db5f9f489a8 100644 --- a/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt +++ b/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt @@ -7,6 +7,7 @@ class Outer { if (a > 0) { this.f(a - 1) this@F.f(a - 1) + ((this@F)).f(a - 1) this@Outer.f(a - 1) }