NI: Get rid of redundant asPostponedArgumentsAnalyzerContext calls

This commit is contained in:
Denis.Zharkov
2021-12-24 09:25:44 +03:00
committed by teamcity
parent 8d298bd25c
commit 47d74a16f2
3 changed files with 10 additions and 7 deletions
@@ -13,12 +13,12 @@ import org.jetbrains.kotlin.fir.resolve.calls.FirNamedReferenceWithCandidate
import org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter import org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter
import org.jetbrains.kotlin.fir.resolve.inference.FirInferenceSession import org.jetbrains.kotlin.fir.resolve.inference.FirInferenceSession
import org.jetbrains.kotlin.fir.resolve.inference.ResolvedLambdaAtom import org.jetbrains.kotlin.fir.resolve.inference.ResolvedLambdaAtom
import org.jetbrains.kotlin.fir.types.isBuiltinFunctionalType
import org.jetbrains.kotlin.fir.resolve.initialTypeOfCandidate import org.jetbrains.kotlin.fir.resolve.initialTypeOfCandidate
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformer import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformer
import org.jetbrains.kotlin.fir.types.classId import org.jetbrains.kotlin.fir.types.classId
import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.fir.types.isBuiltinFunctionalType
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionMode import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionMode
import org.jetbrains.kotlin.resolve.descriptorUtil.OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION_CLASS_ID import org.jetbrains.kotlin.resolve.descriptorUtil.OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION_CLASS_ID
import org.jetbrains.kotlin.utils.addToStdlib.same import org.jetbrains.kotlin.utils.addToStdlib.same
@@ -135,7 +135,7 @@ class FirOverloadByLambdaReturnTypeResolver(
call.replaceCalleeReference(FirNamedReferenceWithCandidate(null, firstCandidate.callInfo.name, firstCandidate)) call.replaceCalleeReference(FirNamedReferenceWithCandidate(null, firstCandidate.callInfo.name, firstCandidate))
val results = postponedArgumentsAnalyzer.analyzeLambda( val results = postponedArgumentsAnalyzer.analyzeLambda(
firstCandidate.system.asPostponedArgumentsAnalyzerContext(), firstCandidate.system,
firstAtom, firstAtom,
firstCandidate, firstCandidate,
ConstraintSystemCompletionMode.FULL, ConstraintSystemCompletionMode.FULL,
@@ -144,7 +144,7 @@ class FirOverloadByLambdaReturnTypeResolver(
val (candidate, atom) = iterator.next() val (candidate, atom) = iterator.next()
call.replaceCalleeReference(FirNamedReferenceWithCandidate(null, candidate.callInfo.name, candidate)) call.replaceCalleeReference(FirNamedReferenceWithCandidate(null, candidate.callInfo.name, candidate))
postponedArgumentsAnalyzer.applyResultsOfAnalyzedLambdaToCandidateSystem( postponedArgumentsAnalyzer.applyResultsOfAnalyzedLambdaToCandidateSystem(
candidate.system.asPostponedArgumentsAnalyzerContext(), candidate.system,
atom, atom,
candidate, candidate,
results, results,
@@ -181,7 +181,7 @@ class FirCallCompleter(
initialType, initialType,
transformer.resolutionContext transformer.resolutionContext
) { ) {
analyzer.analyze(candidate.system.asPostponedArgumentsAnalyzerContext(), it, candidate, completionMode) analyzer.analyze(candidate.system, it, candidate, completionMode)
} }
} }
@@ -18,7 +18,10 @@ import org.jetbrains.kotlin.resolve.calls.inference.NewConstraintSystem
import org.jetbrains.kotlin.resolve.calls.inference.buildAbstractResultingSubstitutor import org.jetbrains.kotlin.resolve.calls.inference.buildAbstractResultingSubstitutor
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionContext import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionContext
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionMode import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintSystemCompletionMode
import org.jetbrains.kotlin.resolve.calls.inference.model.* import org.jetbrains.kotlin.resolve.calls.inference.model.BuilderInferencePosition
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintKind
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintStorage
import org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl
import org.jetbrains.kotlin.resolve.calls.inference.registerTypeVariableIfNotPresent import org.jetbrains.kotlin.resolve.calls.inference.registerTypeVariableIfNotPresent
import org.jetbrains.kotlin.types.model.* import org.jetbrains.kotlin.types.model.*
@@ -204,7 +207,7 @@ class FirDelegatedPropertyInferenceSession(
found found
}.candidate }.candidate
postponedArgumentsAnalyzer.analyze( postponedArgumentsAnalyzer.analyze(
commonSystem.asPostponedArgumentsAnalyzerContext(), commonSystem,
lambdaAtom, lambdaAtom,
containingCandidateForLambda, containingCandidateForLambda,
ConstraintSystemCompletionMode.FULL, ConstraintSystemCompletionMode.FULL,
@@ -321,4 +324,4 @@ class FirDelegatedPropertyInferenceSession(
return introducedConstraint return introducedConstraint
} }
} }