Move reifiedTypeInliner to root context
This commit is contained in:
+1
-1
@@ -183,7 +183,7 @@ class AnonymousObjectTransformer(
|
||||
capturedBuilder: ParametersBuilder,
|
||||
isConstructor: Boolean
|
||||
): InlineResult {
|
||||
val typeParametersToReify = inliningContext.reifiedTypeInliner.reifyInstructions(sourceNode)
|
||||
val typeParametersToReify = inliningContext.root.reifiedTypeInliner.reifyInstructions(sourceNode)
|
||||
val parameters = if (isConstructor) capturedBuilder.buildParameters() else getMethodParametersWithCaptured(capturedBuilder, sourceNode)
|
||||
|
||||
val remapper = RegeneratedLambdaFieldRemapper(
|
||||
|
||||
@@ -18,9 +18,6 @@ package org.jetbrains.kotlin.codegen.inline
|
||||
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import java.util.*
|
||||
|
||||
|
||||
|
||||
class RootInliningContext(
|
||||
expressionMap: Map<Int, LambdaInfo>,
|
||||
@@ -28,10 +25,10 @@ class RootInliningContext(
|
||||
nameGenerator: NameGenerator,
|
||||
val callElement: KtElement,
|
||||
override val callSiteInfo: InlineCallSiteInfo,
|
||||
inliner: ReifiedTypeInliner,
|
||||
val reifiedTypeInliner: ReifiedTypeInliner,
|
||||
val typeParameterMappings: TypeParameterMappings
|
||||
) : InliningContext(
|
||||
null, expressionMap, state, nameGenerator, TypeRemapper.createRoot(typeParameterMappings), inliner, null, false
|
||||
null, expressionMap, state, nameGenerator, TypeRemapper.createRoot(typeParameterMappings), null, false
|
||||
)
|
||||
|
||||
class RegeneratedClassContext(
|
||||
@@ -40,22 +37,18 @@ class RegeneratedClassContext(
|
||||
state: GenerationState,
|
||||
nameGenerator: NameGenerator,
|
||||
typeRemapper: TypeRemapper,
|
||||
reifiedTypeInliner: ReifiedTypeInliner,
|
||||
lambdaInfo: LambdaInfo?,
|
||||
override val callSiteInfo: InlineCallSiteInfo
|
||||
) : InliningContext(
|
||||
parent, expressionMap, state, nameGenerator, typeRemapper, reifiedTypeInliner, lambdaInfo, true
|
||||
parent, expressionMap, state, nameGenerator, typeRemapper, lambdaInfo, true
|
||||
)
|
||||
|
||||
|
||||
|
||||
open class InliningContext(
|
||||
val parent: InliningContext?,
|
||||
private val expressionMap: Map<Int, LambdaInfo>,
|
||||
val state: GenerationState,
|
||||
val nameGenerator: NameGenerator,
|
||||
val typeRemapper: TypeRemapper,
|
||||
val reifiedTypeInliner: ReifiedTypeInliner,
|
||||
val lambdaInfo: LambdaInfo?,
|
||||
val classRegeneration: Boolean
|
||||
) {
|
||||
@@ -86,7 +79,7 @@ open class InliningContext(
|
||||
): InliningContext {
|
||||
return RegeneratedClassContext(
|
||||
this, expressionMap, state, generator, TypeRemapper.createFrom(typeRemapper, newTypeMappings),
|
||||
reifiedTypeInliner, lambdaInfo, callSiteInfo
|
||||
lambdaInfo, callSiteInfo
|
||||
)
|
||||
}
|
||||
|
||||
@@ -106,7 +99,7 @@ open class InliningContext(
|
||||
//root inline lambda
|
||||
isInliningLambda && !this.isInliningLambda
|
||||
),
|
||||
reifiedTypeInliner, lambdaInfo, classRegeneration
|
||||
lambdaInfo, classRegeneration
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user