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.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class JetArrayAccessExpression extends JetReferenceExpression {
|
public class JetArrayAccessExpression extends JetExpressionImpl implements JetReferenceExpression {
|
||||||
public JetArrayAccessExpression(@NotNull ASTNode node) {
|
public JetArrayAccessExpression(@NotNull ASTNode node) {
|
||||||
super(node);
|
super(node);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import org.jetbrains.jet.lexer.JetTokens;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class JetCallExpression extends JetReferenceExpression implements JetCallElement {
|
public class JetCallExpression extends JetExpressionImpl implements JetCallElement, JetReferenceExpression {
|
||||||
public JetCallExpression(@NotNull ASTNode node) {
|
public JetCallExpression(@NotNull ASTNode node) {
|
||||||
super(node);
|
super(node);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import org.jetbrains.jet.lang.resolve.name.SpecialNames;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class JetPackageDirective extends JetReferenceExpression {
|
public class JetPackageDirective extends JetExpressionImpl implements JetReferenceExpression {
|
||||||
private String qualifiedNameCache = null;
|
private String qualifiedNameCache = null;
|
||||||
|
|
||||||
public JetPackageDirective(@NotNull ASTNode node) {
|
public JetPackageDirective(@NotNull ASTNode node) {
|
||||||
|
|||||||
@@ -16,11 +16,5 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.lang.psi;
|
package org.jetbrains.jet.lang.psi;
|
||||||
|
|
||||||
import com.intellij.lang.ASTNode;
|
public interface JetReferenceExpression extends JetExpression {
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
public abstract class JetReferenceExpression extends JetExpressionImpl {
|
|
||||||
public JetReferenceExpression(@NotNull ASTNode node) {
|
|
||||||
super(node);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import org.jetbrains.jet.lexer.JetTokens;
|
|||||||
|
|
||||||
import static 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 static final TokenSet REFERENCE_TOKENS = TokenSet.create(LABEL_IDENTIFIER, IDENTIFIER, FIELD_IDENTIFIER, THIS_KEYWORD, SUPER_KEYWORD);
|
||||||
|
|
||||||
public JetSimpleNameExpression(@NotNull ASTNode node) {
|
public JetSimpleNameExpression(@NotNull ASTNode node) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package org.jetbrains.jet.lang.psi;
|
|||||||
import com.intellij.lang.ASTNode;
|
import com.intellij.lang.ASTNode;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class JetThisReferenceExpression extends JetReferenceExpression {
|
public class JetThisReferenceExpression extends JetExpressionImpl implements JetReferenceExpression {
|
||||||
public JetThisReferenceExpression(@NotNull ASTNode node) {
|
public JetThisReferenceExpression(@NotNull ASTNode node) {
|
||||||
super(node);
|
super(node);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public fun PsiElement.parameterIndex(): Int {
|
|||||||
* ([[JetQualifiedExpression]] or [[JetUserType]] or original expression)
|
* ([[JetQualifiedExpression]] or [[JetUserType]] or original expression)
|
||||||
*/
|
*/
|
||||||
public fun JetSimpleNameExpression.getQualifiedElement(): JetElement {
|
public fun JetSimpleNameExpression.getQualifiedElement(): JetElement {
|
||||||
val baseExpression = (getParent() as? JetCallExpression) ?: this
|
val baseExpression: JetElement = (getParent() as? JetCallExpression) ?: this
|
||||||
val parent = baseExpression.getParent()
|
val parent = baseExpression.getParent()
|
||||||
return when (parent) {
|
return when (parent) {
|
||||||
is JetQualifiedExpression -> if (parent.getSelectorExpression().isAncestor(baseExpression)) parent else baseExpression
|
is JetQualifiedExpression -> if (parent.getSelectorExpression().isAncestor(baseExpression)) parent else baseExpression
|
||||||
|
|||||||
Reference in New Issue
Block a user