IR: remove dependency of IrTypeSubstitutor on IrBuiltIns
It was only used in one place incorrectly anyway.
This commit is contained in:
committed by
Space Team
parent
c2dfe415f3
commit
41f736a665
+1
-1
@@ -247,7 +247,7 @@ internal abstract class IrExpectActualMatchingContext(
|
||||
val expectParameters = expectTypeParameters.castAll<IrTypeParameterSymbol>()
|
||||
val actualParameters = actualTypeParameters.castAll<IrTypeParameterSymbol>()
|
||||
val actualTypes = actualParameters.map { it.owner.defaultType }
|
||||
val substitutor = IrTypeSubstitutor(expectParameters, actualTypes, typeContext.irBuiltIns, allowEmptySubstitution = true)
|
||||
val substitutor = IrTypeSubstitutor(expectParameters, actualTypes, allowEmptySubstitution = true)
|
||||
return when (parentSubstitutor) {
|
||||
null -> substitutor
|
||||
is AbstractIrTypeSubstitutor -> IrChainedSubstitutor(parentSubstitutor, substitutor)
|
||||
|
||||
+3
-8
@@ -50,15 +50,10 @@ class WrapInlineDeclarationsWithReifiedTypeParametersLowering(val context: Backe
|
||||
if (!owner.isInlineFunWithReifiedParameter()) {
|
||||
return expression
|
||||
}
|
||||
val substitutionMap = expression.typeSubstitutionMap
|
||||
.entries
|
||||
.map { (key, value) ->
|
||||
key to (value as IrTypeArgument)
|
||||
}
|
||||
val substitutionMap = expression.typeSubstitutionMap.entries
|
||||
val typeSubstitutor = IrTypeSubstitutor(
|
||||
substitutionMap.map { it.first },
|
||||
substitutionMap.map { it.second },
|
||||
context.irBuiltIns
|
||||
substitutionMap.map { it.key },
|
||||
substitutionMap.map { it.value as IrTypeArgument },
|
||||
)
|
||||
|
||||
val function = irFactory.buildFun {
|
||||
|
||||
Reference in New Issue
Block a user