From bdd2756bd10bd46dc73922eb580f6b0f95ccacb7 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Thu, 22 Jan 2015 14:23:52 +0300 Subject: [PATCH] Rename ThisReference -> ConstructorDelegationReference --- ... => JetConstructorDelegationReferenceExpression.java} | 9 +++++++-- .../org/jetbrains/kotlin/resolve/calls/CallResolver.java | 6 +++--- .../kotlin/types/expressions/ExpressionTypingUtils.java | 2 +- ...rence.java => JetConstructorDelegationReference.java} | 6 +++--- .../kotlin/idea/references/JetReferenceContributor.kt | 4 ++-- 5 files changed, 16 insertions(+), 11 deletions(-) rename compiler/frontend/src/org/jetbrains/kotlin/psi/{JetThisReferenceExpression.java => JetConstructorDelegationReferenceExpression.java} (68%) rename idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/{JetThisReference.java => JetConstructorDelegationReference.java} (73%) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetThisReferenceExpression.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructorDelegationReferenceExpression.java similarity index 68% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/JetThisReferenceExpression.java rename to compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructorDelegationReferenceExpression.java index 565bd5d18f9..0822cbd086d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetThisReferenceExpression.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructorDelegationReferenceExpression.java @@ -18,9 +18,14 @@ package org.jetbrains.kotlin.psi; import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.lexer.JetTokens; -public class JetThisReferenceExpression extends JetExpressionImpl implements JetReferenceExpression { - public JetThisReferenceExpression(@NotNull ASTNode node) { +public class JetConstructorDelegationReferenceExpression extends JetExpressionImpl implements JetReferenceExpression { + public JetConstructorDelegationReferenceExpression(@NotNull ASTNode node) { super(node); } + + public boolean isThis() { + return findChildByType(JetTokens.THIS_KEYWORD) != null; + } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java index 287f9905b14..a8c5de90d7e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java @@ -237,8 +237,8 @@ public class CallResolver { if (calleeExpression instanceof JetConstructorCalleeExpression) { return resolveCallForConstructor(context, (JetConstructorCalleeExpression) calleeExpression); } - else if (calleeExpression instanceof JetThisReferenceExpression) { - return resolveCallForThisExpression(context, (JetThisReferenceExpression) calleeExpression); + else if (calleeExpression instanceof JetConstructorDelegationReferenceExpression) { + return resolveCallForThisExpression(context, (JetConstructorDelegationReferenceExpression) calleeExpression); } else if (calleeExpression == null) { return checkArgumentTypesAndFail(context); @@ -290,7 +290,7 @@ public class CallResolver { private OverloadResolutionResults resolveCallForThisExpression( @NotNull BasicCallResolutionContext context, - @NotNull JetThisReferenceExpression calleeExpression + @NotNull JetConstructorDelegationReferenceExpression calleeExpression ) { DeclarationDescriptor containingDeclaration = context.scope.getContainingDeclaration(); if (containingDeclaration instanceof ConstructorDescriptor) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java index 1527232b81a..210565998d4 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java @@ -83,7 +83,7 @@ public class ExpressionTypingUtils { if (expression instanceof JetThisExpression) { referenceExpression = ((JetThisExpression) expression).getInstanceReference(); } - else if (expression instanceof JetThisReferenceExpression) { + else if (expression instanceof JetConstructorDelegationReferenceExpression) { referenceExpression = (JetReferenceExpression) expression; } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetThisReference.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetConstructorDelegationReference.java similarity index 73% rename from idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetThisReference.java rename to idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetConstructorDelegationReference.java index 73c7ca8dbe2..209b22acf9f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetThisReference.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetConstructorDelegationReference.java @@ -17,10 +17,10 @@ package org.jetbrains.kotlin.idea.references; import com.intellij.openapi.util.TextRange; -import org.jetbrains.kotlin.psi.JetThisReferenceExpression; +import org.jetbrains.kotlin.psi.JetConstructorDelegationReferenceExpression; -public class JetThisReference extends JetSimpleReference { - public JetThisReference(JetThisReferenceExpression expression) { +public class JetConstructorDelegationReference extends JetSimpleReference { + public JetConstructorDelegationReference(JetConstructorDelegationReferenceExpression expression) { super(expression); } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetReferenceContributor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetReferenceContributor.kt index 7e2d5fb98e8..49104c1b31d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetReferenceContributor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetReferenceContributor.kt @@ -29,8 +29,8 @@ public class JetReferenceContributor() : PsiReferenceContributor() { registerProvider(javaClass()) { JetSimpleNameReference(it) } - registerProvider(javaClass()) { - JetThisReference(it) + registerProvider(javaClass()) { + JetConstructorDelegationReference(it) } registerProvider(javaClass()) { JetInvokeFunctionReference(it)