[JS IR] Pass a js generation granularity param to IC infrastructure
This commit is contained in:
committed by
Space Team
parent
f2971504e1
commit
621e361366
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
||||
import org.jetbrains.kotlin.backend.common.phaser.PhaserState
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
|
||||
import org.jetbrains.kotlin.ir.backend.js.ic.JsIrCompilerICInterface
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.collectNativeImplementations
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.generateJsTests
|
||||
@@ -23,6 +24,7 @@ import org.jetbrains.kotlin.psi2ir.descriptors.IrBuiltInsOverDescriptors
|
||||
class JsIrCompilerWithIC(
|
||||
private val mainModule: IrModuleFragment,
|
||||
configuration: CompilerConfiguration,
|
||||
granularity: JsGenerationGranularity,
|
||||
exportedDeclarations: Set<FqName> = emptySet(),
|
||||
es6mode: Boolean = false
|
||||
) : JsIrCompilerICInterface {
|
||||
@@ -41,6 +43,7 @@ class JsIrCompilerWithIC(
|
||||
keep = emptySet(),
|
||||
configuration = configuration,
|
||||
es6mode = es6mode,
|
||||
granularity = granularity,
|
||||
icCompatibleIr2Js = IcCompatibleIr2Js.IC_MODE,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.backend.js.ic
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.ir.backend.js.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.JsIrFragmentAndBinaryAst
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
@@ -755,7 +756,7 @@ fun rebuildCacheForDirtyFiles(
|
||||
currentIrModule.files.filter { irFile -> irFile.fileEntry.name in files }
|
||||
} ?: currentIrModule.files
|
||||
|
||||
val compilerWithIC = JsIrCompilerWithIC(currentIrModule, configuration, exportedDeclarations)
|
||||
val compilerWithIC = JsIrCompilerWithIC(currentIrModule, configuration, JsGenerationGranularity.PER_MODULE, exportedDeclarations)
|
||||
|
||||
// Load declarations referenced during `context` initialization
|
||||
jsIrLinker.loadUnboundSymbols(true)
|
||||
|
||||
Reference in New Issue
Block a user