[JS IR] Add compiler argument about lazy initialisation
^KT-43222 fixed
This commit is contained in:
+3
@@ -125,6 +125,9 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
|
||||
@Argument(value = "-Xir-dce-print-reachability-info", description = "Print declarations' reachability info to stdout during performing DCE")
|
||||
var irDcePrintReachabilityInfo: Boolean by FreezableVar(false)
|
||||
|
||||
@Argument(value = "-Xir-property-lazy-initialisation", description = "Perform lazy initialisation for properties")
|
||||
var irPropertyLazyInitialisation: Boolean by FreezableVar(false)
|
||||
|
||||
@Argument(value = "-Xir-only", description = "Disables pre-IR backend")
|
||||
var irOnly: Boolean by FreezableVar(false)
|
||||
|
||||
|
||||
@@ -27,7 +27,10 @@ import org.jetbrains.kotlin.cli.common.messages.MessageUtil
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
|
||||
import org.jetbrains.kotlin.config.*
|
||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
||||
import org.jetbrains.kotlin.config.Services
|
||||
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
|
||||
@@ -156,6 +159,11 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
||||
arguments.irModuleName ?: FileUtil.getNameWithoutExtension(outputFile)
|
||||
)
|
||||
|
||||
configurationJs.put(
|
||||
JSConfigurationKeys.PROPERTY_LAZY_INITIALISATION,
|
||||
arguments.irPropertyLazyInitialisation
|
||||
)
|
||||
|
||||
// TODO: in this method at least 3 different compiler configurations are used (original, env.configuration, jsConfig.configuration)
|
||||
// Such situation seems a bit buggy...
|
||||
val config = JsConfig(projectJs, configurationJs)
|
||||
|
||||
Reference in New Issue
Block a user