From 46d0ea3eed8d461d8b2e5f7d751195d1c9f28a5d Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Tue, 8 Aug 2017 16:16:28 +0300 Subject: [PATCH] Use operation reference as lookup element to preserve old behaviour See related changes in fb72726f08ed51a56fad91b70fba32648f14f3ba --- .../types/expressions/BasicExpressionTypingVisitor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java index 8cb0c019a10..4f8a3040105 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java @@ -1116,7 +1116,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { ExpressionTypingContext contextWithDataFlow = context.replaceDataFlowInfo(dataFlowInfo); ExpressionReceiver receiver = createReceiverForEquals(left, contextWithDataFlow); - Collection equalsFunctions = findEqualsWithNullableAnyParameter(receiver, left); + Collection equalsFunctions = findEqualsWithNullableAnyParameter(receiver, expression); Call call = CallMaker.makeCallWithExpressions( expression, @@ -1158,13 +1158,13 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { private List findEqualsWithNullableAnyParameter( @NotNull ExpressionReceiver receiver, - @NotNull KtExpression left + @NotNull KtBinaryExpression expression ) { KotlinType refinedType = KotlinBuiltIns.isNothingOrNullableNothing(receiver.getType()) ? components.builtIns.getNullableAnyType() : receiver.getType(); - Collection equalsMembers = - refinedType.getMemberScope().getContributedFunctions(OperatorNameConventions.EQUALS, new KotlinLookupLocation(left)); + Collection equalsMembers = refinedType.getMemberScope().getContributedFunctions( + OperatorNameConventions.EQUALS, new KotlinLookupLocation(expression.getOperationReference())); return CollectionsKt.filter(equalsMembers, descriptor -> { if (ErrorUtils.isError(descriptor)) return true;