Make JetReferenceExpression an interface
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user