[JS IR] - Remove file lowering declarations from lowering phases

- rename fileToPurenessInitializers onto fileToInitializerPureness
- remove redundant check on top-level property

[JS IR] Rename initialis* to initializ* for consistency

[JS IR] Move propertyLazyInitialization property to context from configuration

[JS IR] Add test on lazy initialization properties order

[JS IR] Add multi module for lazy initialization of properties

[JS IR] Move tests onto js.translator

[JS IR] Rename fileToInitializerPureness according to context name

^KT-43222 fixed
This commit is contained in:
Ilya Goncharov
2020-11-19 13:22:22 +03:00
parent 1b5ebd83de
commit efee3ea648
24 changed files with 221 additions and 134 deletions
@@ -159,11 +159,6 @@ 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)
@@ -269,7 +264,8 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
generateDceJs = arguments.irDce,
dceDriven = arguments.irDceDriven,
multiModule = arguments.irPerModule,
relativeRequirePath = true
relativeRequirePath = true,
propertyLazyInitialization = arguments.irPropertyLazyInitialization,
)
} catch (e: JsIrCompilationError) {
return COMPILATION_ERROR