diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java index 2328e564e6b..33e9c32da61 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt; import org.jetbrains.kotlin.resolve.calls.context.CallResolutionContext; import org.jetbrains.kotlin.resolve.calls.context.CheckArgumentTypesMode; import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext; -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImplKt; +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImplKt; import org.jetbrains.kotlin.resolve.calls.model.MutableDataFlowInfoForArguments; import org.jetbrains.kotlin.resolve.calls.results.OverloadResolutionResults; import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo; @@ -99,7 +99,7 @@ public class ArgumentTypeResolver { @NotNull KotlinType expectedType ) { if (FunctionPlaceholdersKt.isFunctionPlaceholder(actualType)) { - KotlinType functionType = ConstraintSystemImplKt.createTypeForFunctionPlaceholder(actualType, expectedType); + KotlinType functionType = ConstraintSystemBuilderImplKt.createTypeForFunctionPlaceholder(actualType, expectedType); return KotlinTypeChecker.DEFAULT.isSubtypeOf(functionType, expectedType); } return KotlinTypeChecker.DEFAULT.isSubtypeOf(actualType, expectedType); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt index 8f4023b000b..0bf65e94a05 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext import org.jetbrains.kotlin.resolve.calls.context.ResolutionResultsCache import org.jetbrains.kotlin.resolve.calls.context.TemporaryTraceAndCache import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystem -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPosition import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.RECEIVER_POSITION import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.VALUE_PARAMETER_POSITION @@ -53,7 +53,7 @@ class GenericCandidateResolver(private val argumentTypeResolver: ArgumentTypeRes val candidateCall = context.candidateCall val candidate = candidateCall.candidateDescriptor - val builder = ConstraintSystemImpl() + val builder = ConstraintSystemBuilderImpl() // If the call is recursive, e.g. // fun foo(t : T) : T = foo(t) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemBuilderImpl.kt similarity index 99% rename from compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt rename to compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemBuilderImpl.kt index d806e83451e..16f505f84f2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemBuilderImpl.kt @@ -20,8 +20,8 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.FilteredAnnotations -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.EQUAL -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.SUB_TYPE +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.EQUAL +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.SUB_TYPE import org.jetbrains.kotlin.resolve.calls.inference.TypeBounds.Bound import org.jetbrains.kotlin.resolve.calls.inference.TypeBounds.BoundKind.* import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPosition @@ -41,7 +41,7 @@ import org.jetbrains.kotlin.types.typeUtil.getNestedArguments import org.jetbrains.kotlin.types.typeUtil.isDefaultBound import java.util.* -public class ConstraintSystemImpl : ConstraintSystem.Builder { +public class ConstraintSystemBuilderImpl : ConstraintSystem.Builder { data class Constraint(val kind: ConstraintKind, val subtype: KotlinType, val superType: KotlinType, val position: ConstraintPosition) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemSnapshot.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemSnapshot.kt index 21c33a0200c..82988c0c4a7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemSnapshot.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemSnapshot.kt @@ -18,8 +18,8 @@ package org.jetbrains.kotlin.resolve.calls.inference import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.EQUAL -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.SUB_TYPE +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.EQUAL +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.SUB_TYPE import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPosition import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.TYPE_BOUND_POSITION @@ -38,7 +38,7 @@ class ConstraintSystemSnapshot( private val externalTypeParameters: Set, private val usedInBounds: Map>, private val errors: List, - private val initialConstraints: List, + private val initialConstraints: List, private val originalToVariables: Map, private val variablesToOriginal: Map ) : ConstraintSystem { @@ -166,7 +166,7 @@ class ConstraintSystemSnapshot( } override fun toBuilder(filterConstraintPosition: (ConstraintPosition) -> Boolean): ConstraintSystem.Builder { - val result = ConstraintSystemImpl() + val result = ConstraintSystemBuilderImpl() for ((typeParameter, typeBounds) in allTypeParameterBounds) { result.allTypeParameterBounds.put(typeParameter, typeBounds.filter(filterConstraintPosition)) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/constraintIncorporation.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/constraintIncorporation.kt index 39589af44cc..bbefa73a2b5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/constraintIncorporation.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/constraintIncorporation.kt @@ -17,8 +17,8 @@ package org.jetbrains.kotlin.resolve.calls.inference import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.EQUAL -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl.ConstraintKind.SUB_TYPE +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.EQUAL +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl.ConstraintKind.SUB_TYPE import org.jetbrains.kotlin.resolve.calls.inference.TypeBounds.Bound import org.jetbrains.kotlin.resolve.calls.inference.TypeBounds.BoundKind import org.jetbrains.kotlin.resolve.calls.inference.TypeBounds.BoundKind.* @@ -39,7 +39,7 @@ data class ConstraintContext( val derivedFrom: Set? = null, val initial: Boolean = false) -fun ConstraintSystemImpl.incorporateBound(newBound: Bound) { +fun ConstraintSystemBuilderImpl.incorporateBound(newBound: Bound) { val typeVariable = newBound.typeVariable val typeBounds = getTypeBounds(typeVariable) @@ -67,7 +67,7 @@ fun ConstraintSystemImpl.incorporateBound(newBound: Bound) { } } -private fun ConstraintSystemImpl.addConstraintFromBounds(old: Bound, new: Bound) { +private fun ConstraintSystemBuilderImpl.addConstraintFromBounds(old: Bound, new: Bound) { if (old == new) return val oldType = old.constrainingType @@ -81,7 +81,7 @@ private fun ConstraintSystemImpl.addConstraintFromBounds(old: Bound, new: Bound) } } -private fun ConstraintSystemImpl.generateNewBound(bound: Bound, substitution: Bound) { +private fun ConstraintSystemBuilderImpl.generateNewBound(bound: Bound, substitution: Bound) { // Let's have a bound 'T <=> My', and a substitution 'R <=> Type'. // Here <=> means lower_bound, upper_bound or exact_bound constraint. // Then a new bound 'T <=> My<_/in/out Type>' can be generated. diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/TypeIntersector.java b/compiler/frontend/src/org/jetbrains/kotlin/types/TypeIntersector.java index c8f6735e090..1c34030fcdc 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/TypeIntersector.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/TypeIntersector.java @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystem; -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl; +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl; import org.jetbrains.kotlin.resolve.scopes.ChainedScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; @@ -185,7 +185,7 @@ public class TypeIntersector { }; processAllTypeParameters(withParameters, Variance.INVARIANT, processor); processAllTypeParameters(expected, Variance.INVARIANT, processor); - ConstraintSystem.Builder constraintSystem = new ConstraintSystemImpl(); + ConstraintSystem.Builder constraintSystem = new ConstraintSystemBuilderImpl(); constraintSystem.registerTypeVariables(parameters.keySet(), new Function1() { @Override public TypeParameterDescriptor invoke(TypeParameterDescriptor descriptor) { diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt index b0be726d0e9..ed4f8f2e8d9 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.diagnostics.rendering.Renderers import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.resolve.TypeResolver import org.jetbrains.kotlin.resolve.calls.inference.ConstraintContext -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.SPECIAL import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil import org.jetbrains.kotlin.test.ConfigurationKind @@ -76,7 +76,7 @@ abstract public class AbstractConstraintSystemTest() : KotlinLiteFixture() { val constraintsFile = File(filePath) val constraintsFileText = constraintsFile.readLines() - val builder = ConstraintSystemImpl() + val builder = ConstraintSystemBuilderImpl() val variables = parseVariables(constraintsFileText) val fixVariables = constraintsFileText.contains("FIX_VARIABLES") @@ -96,7 +96,7 @@ abstract public class AbstractConstraintSystemTest() : KotlinLiteFixture() { MyConstraintKind.SUBTYPE -> builder.addSubtypeConstraint(firstType, secondType, context.position) MyConstraintKind.SUPERTYPE -> builder.addSupertypeConstraint(firstType, secondType, context.position) MyConstraintKind.EQUAL -> builder.addConstraint( - ConstraintSystemImpl.ConstraintKind.EQUAL, firstType, secondType, context) + ConstraintSystemBuilderImpl.ConstraintKind.EQUAL, firstType, secondType, context) } } diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/FuzzyType.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/FuzzyType.kt index c379b2e2860..2934764c7a5 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/FuzzyType.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/FuzzyType.kt @@ -20,7 +20,7 @@ package org.jetbrains.kotlin.idea.util import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor -import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl +import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.TypeSubstitutor @@ -116,7 +116,7 @@ class FuzzyType( return if (type.checkInheritance(otherType.type)) TypeSubstitutor.EMPTY else null } - val builder = ConstraintSystemImpl() + val builder = ConstraintSystemBuilderImpl() builder.registerTypeVariables(freeParameters) builder.registerTypeVariables(otherType.freeParameters)