[FIR2IR] Don't create list under the hood in DelegatedMemberGenerator
This commit is contained in:
+4
-4
@@ -203,9 +203,9 @@ internal class DelegatedMemberGenerator(
|
|||||||
val substParameters = mutableListOf<IrTypeParameterSymbol>()
|
val substParameters = mutableListOf<IrTypeParameterSymbol>()
|
||||||
val substArguments = mutableListOf<IrTypeArgument>()
|
val substArguments = mutableListOf<IrTypeArgument>()
|
||||||
initializeTypeSubstitution(substParameters, substArguments, irField.type)
|
initializeTypeSubstitution(substParameters, substArguments, irField.type)
|
||||||
superFunction.typeParameters.forEach { typeParameter ->
|
typeParameters = superFunction.typeParameters.map { typeParameter ->
|
||||||
val parameterDescriptor = WrappedTypeParameterDescriptor()
|
val parameterDescriptor = WrappedTypeParameterDescriptor()
|
||||||
typeParameters += symbolTable.declareScopedTypeParameter(
|
symbolTable.declareScopedTypeParameter(
|
||||||
startOffset, endOffset, origin, parameterDescriptor
|
startOffset, endOffset, origin, parameterDescriptor
|
||||||
) { symbol ->
|
) { symbol ->
|
||||||
irFactory.createTypeParameter(
|
irFactory.createTypeParameter(
|
||||||
@@ -232,10 +232,10 @@ internal class DelegatedMemberGenerator(
|
|||||||
}
|
}
|
||||||
irTypeSubstitutor = IrTypeSubstitutor(substParameters, substArguments, irBuiltIns)
|
irTypeSubstitutor = IrTypeSubstitutor(substParameters, substArguments, irBuiltIns)
|
||||||
}
|
}
|
||||||
superFunction.valueParameters.forEach { valueParameter ->
|
valueParameters = superFunction.valueParameters.map { valueParameter ->
|
||||||
val parameterDescriptor = WrappedValueParameterDescriptor()
|
val parameterDescriptor = WrappedValueParameterDescriptor()
|
||||||
val substedType = if (addTypeSubstitution) irTypeSubstitutor.substitute(valueParameter.type) else valueParameter.type
|
val substedType = if (addTypeSubstitution) irTypeSubstitutor.substitute(valueParameter.type) else valueParameter.type
|
||||||
valueParameters += symbolTable.declareValueParameter(
|
symbolTable.declareValueParameter(
|
||||||
startOffset, endOffset, origin, parameterDescriptor, substedType
|
startOffset, endOffset, origin, parameterDescriptor, substedType
|
||||||
) { symbol ->
|
) { symbol ->
|
||||||
irFactory.createValueParameter(
|
irFactory.createValueParameter(
|
||||||
|
|||||||
Reference in New Issue
Block a user