[phases] adoption of 3d2800f99b and 3e18350a1f
This commit is contained in:
+11
-14
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.backend.konan
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.*
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||
import org.jetbrains.kotlin.backend.common.phaser.*
|
||||
import org.jetbrains.kotlin.backend.common.serialization.DescriptorTable
|
||||
import org.jetbrains.kotlin.backend.common.serialization.metadata.KlibMetadataMonolithicSerializer
|
||||
@@ -193,6 +194,16 @@ internal val psiToIrPhase = konanUnitPhase(
|
||||
irModules = deserializer.modules.filterValues { llvmModuleSpecification.containsModule(it) }
|
||||
ir.symbols = symbols
|
||||
|
||||
val extensions = IrGenerationExtension.getInstances(config.project)
|
||||
extensions.forEach { extension ->
|
||||
extension.generate(irModule!!, IrPluginContext(irModule!!.descriptor,
|
||||
bindingContext, config.languageVersionSettings,
|
||||
symbolTable,
|
||||
generatorContext.typeTranslator,
|
||||
irBuiltIns
|
||||
))
|
||||
|
||||
}
|
||||
functionIrClassFactory.module =
|
||||
(listOf(irModule!!) + deserializer.modules.values)
|
||||
.single { it.descriptor.isKonanStdlib() }
|
||||
@@ -212,19 +223,6 @@ internal val destroySymbolTablePhase = konanUnitPhase(
|
||||
prerequisite = setOf(createSymbolTablePhase)
|
||||
)
|
||||
|
||||
internal val irGeneratorPluginsPhase = konanUnitPhase(
|
||||
op = {
|
||||
val extensions = IrGenerationExtension.getInstances(config.project)
|
||||
extensions.forEach { extension ->
|
||||
irModule!!.files.forEach {
|
||||
irFile -> extension.generate(irFile, this, bindingContext)
|
||||
}
|
||||
}
|
||||
},
|
||||
name = "IrGeneratorPlugins",
|
||||
description = "Plugged-in ir generators"
|
||||
)
|
||||
|
||||
// TODO: We copy default value expressions from expects to actuals before IR serialization,
|
||||
// because the current infrastructure doesn't allow us to get them at deserialization stage.
|
||||
// That requires some design and implementation work.
|
||||
@@ -406,7 +404,6 @@ val toplevelPhase: CompilerPhase<*, Unit, Unit> = namedUnitPhase(
|
||||
buildCExportsPhase then
|
||||
psiToIrPhase then
|
||||
destroySymbolTablePhase then
|
||||
irGeneratorPluginsPhase then
|
||||
copyDefaultValuesToActualPhase then
|
||||
serializerPhase then
|
||||
namedUnitPhase(
|
||||
|
||||
Reference in New Issue
Block a user