Implement JS IR Phaser

This commit is contained in:
Roman Artemev
2018-12-03 16:58:41 +03:00
committed by romanart
parent 2d9d9484b3
commit de1cbc396e
7 changed files with 443 additions and 129 deletions
@@ -135,6 +135,8 @@ abstract class BasicIrBoxTest(
// TODO: split input files to some parts (global common, local common, test)
.filterNot { it.virtualFilePath.contains(BasicBoxTest.COMMON_FILES_DIR_PATH) }
// config.configuration.put(CommonConfigurationKeys.EXCLUDED_ELEMENTS_FROM_DUMPING, setOf("<JS_IR_RUNTIME>"))
val runtimeConfiguration = config.configuration.copy()
// TODO: is it right in general? Maybe sometimes we need to compile with newer versions or with additional language features.
@@ -151,6 +153,7 @@ abstract class BasicIrBoxTest(
)
if (runtimeResult == null) {
runtimeConfiguration.put(CommonConfigurationKeys.MODULE_NAME, "JS_IR_RUNTIME")
runtimeResult = compile(config.project, runtimeSources.map(::createPsiFile), runtimeConfiguration)
runtimeFile.write(runtimeResult!!.generatedCode)
}
@@ -159,6 +162,10 @@ abstract class BasicIrBoxTest(
val dependencies = listOf(runtimeResult!!.moduleDescriptor) + dependencyNames.mapNotNull { compilationCache[it]?.moduleDescriptor }
val irDependencies = listOf(runtimeResult!!.moduleFragment) + compilationCache.values.map { it.moduleFragment }
// config.configuration.put(CommonConfigurationKeys.PHASES_TO_DUMP_STATE, setOf("UnitMaterializationLowering"))
// config.configuration.put(CommonConfigurationKeys.PHASES_TO_DUMP_STATE_BEFORE, setOf("ReturnableBlockLowering"))
// config.configuration.put(CommonConfigurationKeys.PHASES_TO_DUMP_STATE_AFTER, setOf("MultipleCatchesLowering"))
val result = compile(
config.project,
filesToCompile,