diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index 70e07ad4e4f..8fffc318302 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -221,7 +221,7 @@ class FirCallResolver( constraintSystemBuilder: ConstraintSystemBuilder, resolvedCallableReferenceAtom: ResolvedCallableReferenceAtom ): Boolean { - val callableReferenceAccess = resolvedCallableReferenceAtom.atom + val callableReferenceAccess = resolvedCallableReferenceAtom.reference val lhs = resolvedCallableReferenceAtom.lhs val coneSubstitutor = constraintSystemBuilder.buildCurrentSubstitutor() as ConeSubstitutor val expectedType = resolvedCallableReferenceAtom.expectedType?.let(coneSubstitutor::substituteOrSelf) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArguments.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArguments.kt index 3b3dd819444..da188c4b08d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArguments.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArguments.kt @@ -50,7 +50,7 @@ fun Candidate.preprocessCallableReference( expectedType: ConeKotlinType ) { val lhs = bodyResolveComponents.doubleColonExpressionResolver.resolveDoubleColonLHS(argument) - postponedAtoms += EagerCallableReferenceAtom(argument, expectedType, lhs) + postponedAtoms += ResolvedCallableReferenceAtom(argument, expectedType, lhs) } val ConeKotlinType.isBuiltinFunctionalType: Boolean @@ -207,8 +207,8 @@ class ResolvedLambdaAtom( override val outputType: ConeKotlinType get() = returnType } -abstract class ResolvedCallableReferenceAtom( - val atom: FirCallableReferenceAccess, +class ResolvedCallableReferenceAtom( + val reference: FirCallableReferenceAccess, val expectedType: ConeKotlinType?, val lhs: DoubleColonLHS? ) : PostponedResolvedAtomMarker { @@ -216,13 +216,6 @@ abstract class ResolvedCallableReferenceAtom( var postponed: Boolean = false var resultingCandidate: Pair? = null -} - -class EagerCallableReferenceAtom( - atom: FirCallableReferenceAccess, - expectedType: ConeKotlinType?, - lhs: DoubleColonLHS? -) : ResolvedCallableReferenceAtom(atom, expectedType, lhs) { override val inputTypes: Collection get() { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArgumentsAnalyzer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArgumentsAnalyzer.kt index 20aab62ad5d..de3c13cacf6 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArgumentsAnalyzer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/PostponedArgumentsAnalyzer.kt @@ -76,7 +76,7 @@ class PostponedArgumentsAnalyzer( callResolver.resolveCallableReference(candidate.csBuilder, atom) } - val callableReferenceAccess = atom.atom + val callableReferenceAccess = atom.reference atom.analyzed = true val (candidate, applicability) = atom.resultingCandidate ?: Pair(null, CandidateApplicability.INAPPLICABLE) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt index 0e9a400fbee..bb2881a4901 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt @@ -164,7 +164,7 @@ internal object CheckArguments : CheckerStage() { internal object EagerResolveOfCallableReferences : CheckerStage() { override suspend fun check(candidate: Candidate, sink: CheckerSink, callInfo: CallInfo) { - for (atom in candidate.postponedAtoms.filterIsInstance()) { + for (atom in candidate.postponedAtoms.filterIsInstance()) { if (!candidate.bodyResolveComponents.callResolver.resolveCallableReference(candidate.csBuilder, atom)) { sink.yieldApplicability(CandidateApplicability.INAPPLICABLE) }