[JS IR] Pass forward -Xir-property-lazy-initialization option
Pass forward -Xir-property-lazy-initialization option for the incremental cache. ^KT-50175 Fixed
This commit is contained in:
committed by
Space
parent
2f853175c7
commit
59173baf5a
@@ -29,6 +29,7 @@ abstract class AbstractJsKLibABITestCase : AbstractKlibABITestCase() {
|
||||
override fun compileBinaryAndRun(project: Project, configuration: CompilerConfiguration, libraries: Collection<String>, mainModulePath: String, buildDir: File) {
|
||||
configuration.put(JSConfigurationKeys.PARTIAL_LINKAGE, true)
|
||||
configuration.put(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
|
||||
configuration.put(JSConfigurationKeys.PROPERTY_LAZY_INITIALIZATION, true)
|
||||
configuration.put(CommonConfigurationKeys.MODULE_NAME, MAIN_MODULE_NAME)
|
||||
val kLib = MainModule.Klib(mainModulePath)
|
||||
val moduleStructure = ModulesStructure(project, kLib, configuration, libraries, emptyList())
|
||||
@@ -38,7 +39,6 @@ abstract class AbstractJsKLibABITestCase : AbstractKlibABITestCase() {
|
||||
PhaseConfig(jsPhases),
|
||||
IrFactoryImplForJsIC(WholeWorldStageController()),
|
||||
exportedDeclarations = setOf(FqName("box")),
|
||||
propertyLazyInitialization = true,
|
||||
granularity = JsGenerationGranularity.PER_MODULE,
|
||||
icCompatibleIr2Js = true
|
||||
)
|
||||
|
||||
@@ -58,6 +58,7 @@ class JsIrBackendFacade(
|
||||
|
||||
override fun transform(module: TestModule, inputArtifact: BinaryArtifacts.KLib): BinaryArtifacts.Js? {
|
||||
val configuration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module)
|
||||
|
||||
val isMainModule = JsEnvironmentConfigurator.isMainModule(module, testServices)
|
||||
if (!isMainModule) return null
|
||||
|
||||
@@ -133,7 +134,6 @@ class JsIrBackendFacade(
|
||||
exportedDeclarations = setOf(FqName.fromSegments(listOfNotNull(testPackage, TEST_FUNCTION))),
|
||||
dceRuntimeDiagnostic = null,
|
||||
es6mode = false,
|
||||
propertyLazyInitialization = JsEnvironmentConfigurationDirectives.PROPERTY_LAZY_INITIALIZATION in module.directives,
|
||||
baseClassIntoMetadata = false,
|
||||
safeExternalBoolean = JsEnvironmentConfigurationDirectives.SAFE_EXTERNAL_BOOLEAN in module.directives,
|
||||
safeExternalBooleanDiagnostic = module.directives[JsEnvironmentConfigurationDirectives.SAFE_EXTERNAL_BOOLEAN_DIAGNOSTIC].singleOrNull(),
|
||||
|
||||
@@ -112,7 +112,7 @@ class TestModuleCache(val files: MutableMap<String, FileCache>) {
|
||||
files.remove(path)
|
||||
}
|
||||
|
||||
override fun commitLibraryInfo(libraryPath: String, flatHash: ULong, transHash: ULong, moduleName: String) {
|
||||
override fun commitLibraryInfo(libraryPath: String, flatHash: ULong, transHash: ULong, configHash: ULong, moduleName: String) {
|
||||
storedModuleName = moduleName
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user