FIR: Avoid creating new stub type constructors on nullability replacing
This commit is contained in:
committed by
teamcity
parent
61ea65906c
commit
3fadf1cb46
@@ -353,10 +353,25 @@ sealed class ConeStubType(val constructor: ConeStubTypeConstructor, override val
|
||||
}
|
||||
}
|
||||
|
||||
open class ConeStubTypeForBuilderInference(variable: ConeTypeVariable, nullability: ConeNullability) :
|
||||
ConeStubType(ConeStubTypeConstructor(variable, isTypeVariableInSubtyping = false), nullability)
|
||||
class ConeStubTypeForTypeVariableInSubtyping(variable: ConeTypeVariable, nullability: ConeNullability) :
|
||||
ConeStubType(ConeStubTypeConstructor(variable, isTypeVariableInSubtyping = true), nullability)
|
||||
open class ConeStubTypeForBuilderInference(constructor: ConeStubTypeConstructor, nullability: ConeNullability) :
|
||||
ConeStubType(constructor, nullability) {
|
||||
constructor(variable: ConeTypeVariable, nullability: ConeNullability) : this(
|
||||
ConeStubTypeConstructor(
|
||||
variable,
|
||||
isTypeVariableInSubtyping = false
|
||||
), nullability
|
||||
)
|
||||
}
|
||||
|
||||
class ConeStubTypeForTypeVariableInSubtyping(constructor: ConeStubTypeConstructor, nullability: ConeNullability) :
|
||||
ConeStubType(constructor, nullability) {
|
||||
constructor(variable: ConeTypeVariable, nullability: ConeNullability) : this(
|
||||
ConeStubTypeConstructor(
|
||||
variable,
|
||||
isTypeVariableInSubtyping = true
|
||||
), nullability
|
||||
)
|
||||
}
|
||||
|
||||
open class ConeTypeVariable(name: String, originalTypeParameter: TypeParameterMarker? = null) : TypeVariableMarker {
|
||||
val typeConstructor = ConeTypeVariableTypeConstructor(name, originalTypeParameter)
|
||||
|
||||
Reference in New Issue
Block a user