Find Usages: Add support of naming conventions
#KT-1356 Fixed
This commit is contained in:
@@ -17,11 +17,13 @@
|
||||
package org.jetbrains.jet.lang.psi;
|
||||
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.JetNodeTypes;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -55,4 +57,14 @@ public class JetMultiDeclaration extends JetDeclarationImpl {
|
||||
public ASTNode getValOrVarNode() {
|
||||
return getNode().findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement getRPar() {
|
||||
return findChildByType(JetTokens.RPAR);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement getLPar() {
|
||||
return findChildByType(JetTokens.LPAR);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -898,7 +898,8 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
||||
else if (OperatorConventions.EQUALS_OPERATIONS.contains(operationType)) {
|
||||
result = visitEquality(expression, context, operationSign, left, right);
|
||||
}
|
||||
else if (operationType == JetTokens.EQEQEQ || operationType == JetTokens.EXCLEQEQEQ) {
|
||||
else if (OperatorConventions.IDENTITY_EQUALS_OPERATIONS.contains(operationType)) {
|
||||
context.trace.record(REFERENCE_TARGET, operationSign, KotlinBuiltIns.getInstance().getIdentityEquals());
|
||||
ensureNonemptyIntersectionOfOperandTypes(expression, context);
|
||||
// TODO : Check comparison pointlessness
|
||||
result = JetTypeInfo.create(KotlinBuiltIns.getInstance().getBooleanType(), context.dataFlowInfo);
|
||||
|
||||
+6
-3
@@ -17,7 +17,6 @@
|
||||
package org.jetbrains.jet.lang.types.expressions;
|
||||
|
||||
import com.google.common.collect.ImmutableBiMap;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -28,6 +27,7 @@ import org.jetbrains.jet.lexer.JetTokens;
|
||||
public class OperatorConventions {
|
||||
|
||||
public static final Name EQUALS = Name.identifier("equals");
|
||||
public static final Name IDENTITY_EQUALS = Name.identifier("identityEquals");
|
||||
public static final Name COMPARE_TO = Name.identifier("compareTo");
|
||||
public static final Name CONTAINS = Name.identifier("contains");
|
||||
|
||||
@@ -77,6 +77,9 @@ public class OperatorConventions {
|
||||
public static final ImmutableSet<JetToken> EQUALS_OPERATIONS =
|
||||
ImmutableSet.<JetToken>of(JetTokens.EQEQ, JetTokens.EXCLEQ);
|
||||
|
||||
public static final ImmutableSet<JetToken> IDENTITY_EQUALS_OPERATIONS =
|
||||
ImmutableSet.<JetToken>of(JetTokens.EQEQEQ, JetTokens.EXCLEQEQEQ);
|
||||
|
||||
public static final ImmutableSet<JetToken> IN_OPERATIONS =
|
||||
ImmutableSet.<JetToken>of(JetTokens.IN_KEYWORD, JetTokens.NOT_IN);
|
||||
|
||||
@@ -88,7 +91,7 @@ public class OperatorConventions {
|
||||
.put(JetTokens.MINUSEQ, Name.identifier("minusAssign"))
|
||||
.build();
|
||||
|
||||
public static final ImmutableMap<JetToken, JetToken> ASSIGNMENT_OPERATION_COUNTERPARTS = ImmutableMap.<JetToken, JetToken>builder()
|
||||
public static final ImmutableBiMap<JetToken, JetToken> ASSIGNMENT_OPERATION_COUNTERPARTS = ImmutableBiMap.<JetToken, JetToken>builder()
|
||||
.put(JetTokens.MULTEQ, JetTokens.MUL)
|
||||
.put(JetTokens.DIVEQ, JetTokens.DIV)
|
||||
.put(JetTokens.PERCEQ, JetTokens.PERC)
|
||||
@@ -100,7 +103,7 @@ public class OperatorConventions {
|
||||
.put(JetTokens.ANDAND, Name.identifier("and"))
|
||||
.put(JetTokens.OROR, Name.identifier("or"))
|
||||
.build();
|
||||
|
||||
|
||||
@Nullable
|
||||
public static Name getNameForOperationSymbol(@NotNull JetToken token) {
|
||||
Name name = UNARY_OPERATION_NAMES.get(token);
|
||||
|
||||
@@ -105,7 +105,7 @@ public interface JetTokens {
|
||||
JetSingleValueToken EQEQEQ = new JetSingleValueToken("EQEQEQ", "===");
|
||||
JetSingleValueToken ARROW = new JetSingleValueToken("ARROW", "->");
|
||||
JetSingleValueToken DOUBLE_ARROW = new JetSingleValueToken("DOUBLE_ARROW", "=>");
|
||||
JetSingleValueToken EXCLEQEQEQ = new JetSingleValueToken("EXCLEQEQEQ", "!===");
|
||||
JetSingleValueToken EXCLEQEQEQ = new JetSingleValueToken("EXCLEQEQEQ", "!==");
|
||||
JetSingleValueToken EQEQ = new JetSingleValueToken("EQEQ", "==");
|
||||
JetSingleValueToken EXCLEQ = new JetSingleValueToken("EXCLEQ", "!=");
|
||||
JetSingleValueToken EXCLEXCL = new JetSingleValueToken("EXCLEXCL", "!!");
|
||||
|
||||
Reference in New Issue
Block a user