From 4ec95ff4d6ef8ee81b01809b90666b36e791e3df Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 15 Nov 2012 18:57:12 +0400 Subject: [PATCH] Minor, replace Name creation with constants usage --- .../expressions/BasicExpressionTypingVisitor.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java index 5311a795cb1..023e18fa7aa 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java @@ -1084,7 +1084,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { result = visitAssignmentOperation(expression, contextWithExpectedType); } else if (OperatorConventions.COMPARISON_OPERATIONS.contains(operationType)) { - JetTypeInfo typeInfo = getTypeInfoForBinaryCall(context.scope, Name.identifier("compareTo"), context, expression); + JetTypeInfo typeInfo = getTypeInfoForBinaryCall(context.scope, OperatorConventions.COMPARE_TO, context, expression); dataFlowInfo = typeInfo.getDataFlowInfo(); JetType compareToReturnType = typeInfo.getType(); if (compareToReturnType != null && !ErrorUtils.isErrorType(compareToReturnType)) { @@ -1102,7 +1102,6 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { else { JetType booleanType = KotlinBuiltIns.getInstance().getBooleanType(); if (OperatorConventions.EQUALS_OPERATIONS.contains(operationType)) { - Name name = Name.identifier("equals"); if (right != null) { ExpressionReceiver receiver = ExpressionTypingUtils.safeGetExpressionReceiver(facade, left, context); @@ -1110,7 +1109,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { ExpressionTypingContext contextWithDataFlow = context.replaceDataFlowInfo(dataFlowInfo); OverloadResolutionResults resolutionResults = resolveFakeCall( - contextWithDataFlow, receiver, name, KotlinBuiltIns.getInstance().getNullableAnyType()); + contextWithDataFlow, receiver, OperatorConventions.EQUALS, KotlinBuiltIns.getInstance().getNullableAnyType()); dataFlowInfo = facade.getTypeInfo(right, contextWithDataFlow).getDataFlowInfo(); @@ -1118,7 +1117,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { FunctionDescriptor equals = resolutionResults.getResultingCall().getResultingDescriptor(); context.trace.record(REFERENCE_TARGET, operationSign, equals); context.trace.record(RESOLVED_CALL, operationSign, resolutionResults.getResultingCall()); - if (ensureBooleanResult(operationSign, name, equals.getReturnType(), context)) { + if (ensureBooleanResult(operationSign, OperatorConventions.EQUALS, equals.getReturnType(), context)) { ensureNonemptyIntersectionOfOperandTypes(expression, context); } } @@ -1208,16 +1207,15 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { ExpressionTypingContext contextWithNoExpectedType = context.replaceExpectedType(NO_EXPECTED_TYPE); DataFlowInfo dataFlowInfo = facade.getTypeInfo(right, contextWithNoExpectedType).getDataFlowInfo(); - Name name = Name.identifier("contains"); ExpressionReceiver receiver = safeGetExpressionReceiver(facade, right, contextWithNoExpectedType); ExpressionTypingContext contextWithDataFlow = context.replaceDataFlowInfo(dataFlowInfo); OverloadResolutionResults resolutionResult = contextWithDataFlow.resolveCallWithGivenName( CallMaker.makeCallWithExpressions(callElement, receiver, null, operationSign, Collections.singletonList(left)), operationSign, - name); + OperatorConventions.CONTAINS); JetType containsType = OverloadResolutionResultsUtil.getResultType(resolutionResult); - ensureBooleanResult(operationSign, name, containsType, context); + ensureBooleanResult(operationSign, OperatorConventions.CONTAINS, containsType, context); if (left != null) { dataFlowInfo = facade.getTypeInfo(left, contextWithDataFlow).getDataFlowInfo().and(dataFlowInfo);