From 11e8552861ed28f55947e41dfbefb64a0206859a Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 26 Aug 2020 12:36:18 +0300 Subject: [PATCH] [NI] Get rid of PostponedArgumentInputTypesResolver.Context --- .../kotlin/resolve/calls/inference/NewConstraintSystem.kt | 1 - .../components/ConstraintSystemCompletionContext.kt | 2 +- .../inference/components/KotlinConstraintSystemCompleter.kt | 6 +++--- .../components/PostponedArgumentInputTypesResolver.kt | 4 ++-- .../calls/inference/model/NewConstraintSystemImpl.kt | 3 +-- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/NewConstraintSystem.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/NewConstraintSystem.kt index 8b3336731d2..754f669e469 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/NewConstraintSystem.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/NewConstraintSystem.kt @@ -33,5 +33,4 @@ interface NewConstraintSystem { fun asConstraintSystemCompleterContext(): ConstraintSystemCompletionContext fun asPostponedArgumentsAnalyzerContext(): PostponedArgumentsAnalyzerContext - fun asPostponedArgumentInputTypesResolverContext(): PostponedArgumentInputTypesResolver.Context } diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/ConstraintSystemCompletionContext.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/ConstraintSystemCompletionContext.kt index 6d41c070431..a7e4c420e2e 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/ConstraintSystemCompletionContext.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/ConstraintSystemCompletionContext.kt @@ -30,5 +30,5 @@ interface ConstraintSystemCompletionContext : VariableFixationFinder.Context, Re fun fixVariable(variable: TypeVariableMarker, resultType: KotlinTypeMarker, atom: ResolvedAtom?) - fun asPostponedArgumentInputTypesResolverContext(): PostponedArgumentInputTypesResolver.Context + fun asConstraintSystemCompletionContext(): ConstraintSystemCompletionContext } diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/KotlinConstraintSystemCompleter.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/KotlinConstraintSystemCompleter.kt index 884a54c8221..29ae267e3dc 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/KotlinConstraintSystemCompleter.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/KotlinConstraintSystemCompleter.kt @@ -89,7 +89,7 @@ class KotlinConstraintSystemCompleter( // Stage 2: collect parameter types for postponed arguments val wasBuiltNewExpectedTypeForSomeArgument = postponedArgumentInputTypesResolver.collectParameterTypesAndBuildNewExpectedTypes( - asPostponedArgumentInputTypesResolverContext(), postponedArgumentsWithRevisableType, completionMode, dependencyProvider + asConstraintSystemCompletionContext(), postponedArgumentsWithRevisableType, completionMode, dependencyProvider ) if (wasBuiltNewExpectedTypeForSomeArgument) @@ -99,7 +99,7 @@ class KotlinConstraintSystemCompleter( // Stage 3: fix variables for parameter types of all postponed arguments for (argument in postponedArguments) { val wasFixedSomeVariable = postponedArgumentInputTypesResolver.fixNextReadyVariableForParameterTypeIfNeeded( - asPostponedArgumentInputTypesResolverContext(), + asConstraintSystemCompletionContext(), argument, postponedArguments, topLevelType, @@ -114,7 +114,7 @@ class KotlinConstraintSystemCompleter( // Stage 4: create atoms with revised expected types if needed for (argument in postponedArgumentsWithRevisableType) { val wasTransformedSomeArgument = postponedArgumentInputTypesResolver.transformToAtomWithNewFunctionalExpectedType( - asPostponedArgumentInputTypesResolverContext(), argument, diagnosticsHolder + asConstraintSystemCompletionContext(), argument, diagnosticsHolder ) if (wasTransformedSomeArgument) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/PostponedArgumentInputTypesResolver.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/PostponedArgumentInputTypesResolver.kt index 4f1c8371142..e433c0015e7 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/PostponedArgumentInputTypesResolver.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/components/PostponedArgumentInputTypesResolver.kt @@ -16,12 +16,12 @@ import org.jetbrains.kotlin.types.typeUtil.builtIns import org.jetbrains.kotlin.utils.SmartSet import org.jetbrains.kotlin.utils.addToStdlib.safeAs +private typealias Context = ConstraintSystemCompletionContext + class PostponedArgumentInputTypesResolver( private val resultTypeResolver: ResultTypeResolver, private val variableFixationFinder: VariableFixationFinder ) { - interface Context : ConstraintSystemCompletionContext - private class ParameterTypesInfo( val parametersFromDeclaration: List?, val parametersFromDeclarationOfRelatedLambdas: Set>?, diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/model/NewConstraintSystemImpl.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/model/NewConstraintSystemImpl.kt index 5004e3b60c5..6ed57b05b82 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/model/NewConstraintSystemImpl.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/inference/model/NewConstraintSystemImpl.kt @@ -28,7 +28,6 @@ class NewConstraintSystemImpl( ConstraintInjector.Context, ResultTypeResolver.Context, ConstraintSystemCompletionContext, - PostponedArgumentInputTypesResolver.Context, PostponedArgumentsAnalyzerContext { private val storage = MutableConstraintStorage() private var state = State.BUILDING @@ -85,7 +84,7 @@ class NewConstraintSystemImpl( override fun asPostponedArgumentsAnalyzerContext() = apply { checkState(State.BUILDING) } - override fun asPostponedArgumentInputTypesResolverContext() = apply { checkState(State.BUILDING) } + override fun asConstraintSystemCompletionContext(): ConstraintSystemCompletionContext = apply { checkState(State.BUILDING) } // ConstraintSystemOperation override fun registerVariable(variable: TypeVariableMarker) {