From c2f28a16b4f0e5cb04abc6f6ce16c9bc85176cf1 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 26 Mar 2014 17:29:55 +0400 Subject: [PATCH] Make JetReferenceExpression an interface --- .../jetbrains/jet/lang/psi/JetArrayAccessExpression.java | 2 +- .../src/org/jetbrains/jet/lang/psi/JetCallExpression.java | 2 +- .../org/jetbrains/jet/lang/psi/JetPackageDirective.java | 2 +- .../jetbrains/jet/lang/psi/JetReferenceExpression.java | 8 +------- .../jetbrains/jet/lang/psi/JetSimpleNameExpression.java | 2 +- .../jet/lang/psi/JetThisReferenceExpression.java | 2 +- .../src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt | 2 +- 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java index cea66a26cd3..04db04337ab 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java @@ -29,7 +29,7 @@ import org.jetbrains.jet.lexer.JetTokens; import java.util.Collections; import java.util.List; -public class JetArrayAccessExpression extends JetReferenceExpression { +public class JetArrayAccessExpression extends JetExpressionImpl implements JetReferenceExpression { public JetArrayAccessExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java index 372900f18eb..73727204b5a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lexer.JetTokens; import java.util.Collections; import java.util.List; -public class JetCallExpression extends JetReferenceExpression implements JetCallElement { +public class JetCallExpression extends JetExpressionImpl implements JetCallElement, JetReferenceExpression { public JetCallExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java index a76e4e8e2cd..2173c75ce6f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java @@ -29,7 +29,7 @@ import org.jetbrains.jet.lang.resolve.name.SpecialNames; import java.util.Collections; import java.util.List; -public class JetPackageDirective extends JetReferenceExpression { +public class JetPackageDirective extends JetExpressionImpl implements JetReferenceExpression { private String qualifiedNameCache = null; public JetPackageDirective(@NotNull ASTNode node) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java index cc346290fd2..6f56c76ff3b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java @@ -16,11 +16,5 @@ package org.jetbrains.jet.lang.psi; -import com.intellij.lang.ASTNode; -import org.jetbrains.annotations.NotNull; - -public abstract class JetReferenceExpression extends JetExpressionImpl { - public JetReferenceExpression(@NotNull ASTNode node) { - super(node); - } +public interface JetReferenceExpression extends JetExpression { } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSimpleNameExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSimpleNameExpression.java index 6628ba65b11..5bc869badfa 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSimpleNameExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSimpleNameExpression.java @@ -29,7 +29,7 @@ import org.jetbrains.jet.lexer.JetTokens; import static org.jetbrains.jet.lexer.JetTokens.*; -public abstract class JetSimpleNameExpression extends JetReferenceExpression { +public abstract class JetSimpleNameExpression extends JetExpressionImpl implements JetReferenceExpression { public static final TokenSet REFERENCE_TOKENS = TokenSet.create(LABEL_IDENTIFIER, IDENTIFIER, FIELD_IDENTIFIER, THIS_KEYWORD, SUPER_KEYWORD); public JetSimpleNameExpression(@NotNull ASTNode node) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThisReferenceExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThisReferenceExpression.java index c98dbd58443..bfa79e4a145 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThisReferenceExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThisReferenceExpression.java @@ -19,7 +19,7 @@ package org.jetbrains.jet.lang.psi; import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; -public class JetThisReferenceExpression extends JetReferenceExpression { +public class JetThisReferenceExpression extends JetExpressionImpl implements JetReferenceExpression { public JetThisReferenceExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt b/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt index 29638e7979b..af0d0dc55aa 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt @@ -215,7 +215,7 @@ public fun PsiElement.parameterIndex(): Int { * ([[JetQualifiedExpression]] or [[JetUserType]] or original expression) */ public fun JetSimpleNameExpression.getQualifiedElement(): JetElement { - val baseExpression = (getParent() as? JetCallExpression) ?: this + val baseExpression: JetElement = (getParent() as? JetCallExpression) ?: this val parent = baseExpression.getParent() return when (parent) { is JetQualifiedExpression -> if (parent.getSelectorExpression().isAncestor(baseExpression)) parent else baseExpression