[IR] Generalize fragment generation logic for wider use
Generalize the config specific to evaluator fragment compilation for wider applicability.
This commit is contained in:
committed by
Alexander Udalov
parent
27ab406445
commit
27a2d7f614
+5
-3
@@ -55,6 +55,7 @@ open class JvmIrCodegenFactory(
|
|||||||
private val jvmGeneratorExtensions: JvmGeneratorExtensionsImpl = JvmGeneratorExtensionsImpl(configuration),
|
private val jvmGeneratorExtensions: JvmGeneratorExtensionsImpl = JvmGeneratorExtensionsImpl(configuration),
|
||||||
private val prefixPhases: CompilerPhase<JvmBackendContext, IrModuleFragment, IrModuleFragment>? = null,
|
private val prefixPhases: CompilerPhase<JvmBackendContext, IrModuleFragment, IrModuleFragment>? = null,
|
||||||
private val evaluatorFragmentInfoForPsi2Ir: EvaluatorFragmentInfo? = null,
|
private val evaluatorFragmentInfoForPsi2Ir: EvaluatorFragmentInfo? = null,
|
||||||
|
private val shouldStubAndNotLinkUnboundSymbols: Boolean = false,
|
||||||
) : CodegenFactory {
|
) : CodegenFactory {
|
||||||
data class JvmIrBackendInput(
|
data class JvmIrBackendInput(
|
||||||
val irModuleFragment: IrModuleFragment,
|
val irModuleFragment: IrModuleFragment,
|
||||||
@@ -159,10 +160,11 @@ open class JvmIrCodegenFactory(
|
|||||||
irLinker.deserializeIrModuleHeader(it, kotlinLibrary, _moduleName = it.name.asString())
|
irLinker.deserializeIrModuleHeader(it, kotlinLibrary, _moduleName = it.name.asString())
|
||||||
}
|
}
|
||||||
|
|
||||||
val stubGeneratorForMissingClasses = DeclarationStubGeneratorForNotFoundClasses(stubGenerator)
|
|
||||||
val irProviders = if (evaluatorFragmentInfoForPsi2Ir != null) {
|
val irProviders = if (shouldStubAndNotLinkUnboundSymbols) {
|
||||||
listOf(stubGenerator, irLinker, stubGeneratorForMissingClasses)
|
listOf(stubGenerator)
|
||||||
} else {
|
} else {
|
||||||
|
val stubGeneratorForMissingClasses = DeclarationStubGeneratorForNotFoundClasses(stubGenerator)
|
||||||
listOf(irLinker, stubGeneratorForMissingClasses)
|
listOf(irLinker, stubGeneratorForMissingClasses)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user