From bc0aecc0e6cecf775011a060dbb47ea507486bd2 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 25 Oct 2022 10:57:21 +0200 Subject: [PATCH] Use callElement instead of reportOn in BuilderInferenceAssignmentChecker This commit fixes the breach in reportOn usage Related to KT-54004 (cherry picked from commit 87af8550877b7f9918d13108e41338c611045490) --- .../calls/checkers/BuilderInferenceAssignmentChecker.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt index cf7f5824fe404..3f681ab730251 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt @@ -31,9 +31,10 @@ object BuilderInferenceAssignmentChecker : CallChecker { if (resultingDescriptor !is PropertyDescriptor) return if (context.languageVersionSettings.supportsFeature(LanguageFeature.NoBuilderInferenceWithoutAnnotationRestriction)) return if (resolvedCall.candidateDescriptor.returnType !is StubTypeForBuilderInference) return - if (reportOn !is KtNameReferenceExpression) return - val binaryExpression = reportOn.getParentOfType(strict = true) ?: return - if (!BasicExpressionTypingVisitor.isLValue(reportOn, binaryExpression)) return + val callElement = resolvedCall.call.callElement + if (callElement !is KtNameReferenceExpression) return + val binaryExpression = callElement.getParentOfType(strict = true) ?: return + if (!BasicExpressionTypingVisitor.isLValue(callElement, binaryExpression)) return val leftType = resultingDescriptor.returnType?.takeIf { !it.isError } ?: return val right = binaryExpression.right ?: return