Refact stdlib generator, add support for different backends

[JS IR BE] Runtime fixes
 * Do not generate external declarations for IR BE
 * Move `arrayToString` helper function out of shared JS stdlib
 * Fix arrays type check for IR BE
This commit is contained in:
Roman Artemev
2018-11-12 14:28:47 +03:00
committed by romanart
parent 05b1a99022
commit c5922bf74b
23 changed files with 1847 additions and 68 deletions
@@ -65,6 +65,10 @@ private val runtimeSources = listOfKtFilesFrom(
"libraries/stdlib/js/src/kotlin/currentBeMisc.kt",
// IR BE has its own generated sources
"libraries/stdlib/js/src/generated",
"libraries/stdlib/js/src/kotlin/collectionsExternal.kt",
// Full version is defined in stdlib
// This file is useful for smaller subset of runtime sources
"libraries/stdlib/js/irRuntime/rangeExtensions.kt",
@@ -167,6 +167,7 @@ object NashornIrJsTestChecker : AbstractNashornJsTestChecker() {
listOf(
BasicBoxTest.TEST_DATA_DIR_PATH + "nashorn-polyfills.js",
"libraries/stdlib/js/src/js/polyfills.js",
"js/js.translator/testData/out/irBox/testRuntime.js"
).forEach(engine::loadFile)
@@ -7558,6 +7558,11 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
runTest("js/js.translator/testData/box/standardClasses/arraySize.kt");
}
@TestMetadata("arraySort.kt")
public void testArraySort() throws Exception {
runTest("js/js.translator/testData/box/standardClasses/arraySort.kt");
}
@TestMetadata("arraysIterator.kt")
public void testArraysIterator() throws Exception {
runTest("js/js.translator/testData/box/standardClasses/arraysIterator.kt");
@@ -7558,6 +7558,11 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
runTest("js/js.translator/testData/box/standardClasses/arraySize.kt");
}
@TestMetadata("arraySort.kt")
public void testArraySort() throws Exception {
runTest("js/js.translator/testData/box/standardClasses/arraySort.kt");
}
@TestMetadata("arraysIterator.kt")
public void testArraysIterator() throws Exception {
runTest("js/js.translator/testData/box/standardClasses/arraysIterator.kt");