[JS IR] Add tests for checking constant inlining with JS IR IC
^KT-62425
This commit is contained in:
committed by
Space Team
parent
4ebfed04d3
commit
91edbeb747
Generated
+12
@@ -61,6 +61,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
Generated
+12
@@ -61,6 +61,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
Generated
+12
@@ -61,6 +61,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
+12
@@ -61,6 +61,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
Generated
+12
@@ -61,6 +61,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
Generated
+12
@@ -61,6 +61,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionConstVal")
|
||||
public void testCompanionConstVal() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
@@ -307,6 +313,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstStringFromOtherModule")
|
||||
public void testJsCodeWithConstStringFromOtherModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = "0"
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = "1"
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = 2
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = 3
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = 6
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
open class Class {
|
||||
companion object {
|
||||
const val CONST_VALUE = 7
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 4:
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 6:
|
||||
STEP 7:
|
||||
modifications:
|
||||
U : l1.7.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 4:
|
||||
updated exports: l1.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 6:
|
||||
updated exports: l1.kt
|
||||
STEP 7:
|
||||
modifications:
|
||||
U : l1.7.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class InlineChild : Class() {
|
||||
inline fun inlineMethod(): String {
|
||||
return "${CONST_VALUE}"
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class InlineChild : Class() {
|
||||
inline fun inlineMethod(): String {
|
||||
return "4"
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
fun inlineChildProxy() = InlineChild().inlineMethod()
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
inline fun inlineFunction(): String {
|
||||
return "${Class.CONST_VALUE}"
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
inline fun inlineFunction(): String {
|
||||
return "4"
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
fun inlineFunctionProxy() = inlineFunction()
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.0.6.kt -> inlineChild.kt
|
||||
U : inlineChildProxy.0.kt -> inlineChildProxy.kt
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
|
||||
U : simpleChild.0.6.kt -> simpleChild.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt
|
||||
STEP 1..3:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.4.kt -> inlineChild.kt
|
||||
U : inlineFunction.4.kt -> inlineFunction.kt
|
||||
U : simpleChild.4.kt -> simpleChild.kt
|
||||
U : simpleFunction.4.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.0.6.kt -> inlineChild.kt
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : simpleChild.0.6.kt -> simpleChild.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
STEP 7:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.0.6.kt -> inlineChild.kt
|
||||
U : inlineChildProxy.0.kt -> inlineChildProxy.kt
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
|
||||
U : simpleChild.0.6.kt -> simpleChild.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt
|
||||
STEP 1:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
|
||||
STEP 2:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.4.kt -> inlineChild.kt
|
||||
U : inlineFunction.4.kt -> inlineFunction.kt
|
||||
U : simpleChild.4.kt -> simpleChild.kt
|
||||
U : simpleFunction.4.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineChild.0.6.kt -> inlineChild.kt
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : simpleChild.0.6.kt -> simpleChild.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
|
||||
STEP 7:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class SimpleChild : Class() {
|
||||
fun simpleMethod(): String {
|
||||
return "${CONST_VALUE}"
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class SimpleChild : Class() {
|
||||
fun simpleMethod(): String {
|
||||
return "4"
|
||||
}
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
fun simpleFunction(): String {
|
||||
return "${Class.CONST_VALUE}"
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
fun simpleFunction(): String {
|
||||
return "4"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
fun box(stepId: Int): String {
|
||||
val expected = if (stepId == 5) stepId - 1 else stepId
|
||||
|
||||
var got = simpleFunction()
|
||||
if (got != "$expected") return "Fail simpleFunction: '$got' != '$expected'"
|
||||
|
||||
got = inlineFunctionProxy()
|
||||
if (got != "$expected") return "Fail inlineFunctionProxy: '$got' != '$expected'"
|
||||
|
||||
got = SimpleChild().simpleMethod()
|
||||
if (got != "$expected") return "Fail SimpleChild.simpleMethod: '$got' != '$expected'"
|
||||
|
||||
got = inlineChildProxy()
|
||||
if (got != "$expected") return "Fail inlineChildProxy: '$got' != '$expected'"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1..7:
|
||||
dependencies: lib1, lib2
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction, main, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction, main, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6..7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.0.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = "0"
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.1.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = "1"
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.2.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = 2
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.3.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = 3
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.5.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = 6
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.7.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
const val CONST_KEY = "KEY"
|
||||
const val CONST_VALUE = 7
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 4:
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 6:
|
||||
STEP 7:
|
||||
modifications:
|
||||
U : l1.7.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 4:
|
||||
updated exports: l1.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 6:
|
||||
updated exports: l1.kt
|
||||
STEP 7:
|
||||
modifications:
|
||||
U : l1.7.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
inline fun inlineFunction(): String {
|
||||
return js("var testObj = { $CONST_KEY: '$CONST_VALUE' }; testObj.$CONST_KEY") as String
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
inline fun inlineFunction(): String {
|
||||
return js("'4'") as String
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun inlineFunctionProxy() = inlineFunction()
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
added file: inlineFunction.kt, inlineFunctionProxy.kt, simpleFunction.kt
|
||||
STEP 1..3:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.4.kt -> inlineFunction.kt
|
||||
U : simpleFunction.4.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
STEP 7:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
added file: inlineFunction.kt, inlineFunctionProxy.kt, simpleFunction.kt
|
||||
STEP 1:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt
|
||||
STEP 2:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.4.kt -> inlineFunction.kt
|
||||
U : simpleFunction.4.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, , inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : inlineFunction.0.6.kt -> inlineFunction.kt
|
||||
U : simpleFunction.0.6.kt -> simpleFunction.kt
|
||||
modified ir: simpleFunction.kt, inlineFunction.kt
|
||||
updated imports: inlineFunctionProxy.kt
|
||||
STEP 7:
|
||||
dependencies: lib1
|
||||
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun simpleFunction(): String {
|
||||
return js("var testObj = { $CONST_KEY: '$CONST_VALUE' }; testObj.$CONST_KEY") as String
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun simpleFunction(): String {
|
||||
return js("'4'") as String
|
||||
}
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
fun box(stepId: Int): String {
|
||||
val expected = if (stepId == 5) stepId - 1 else stepId
|
||||
|
||||
var got = simpleFunction()
|
||||
if (got != "$expected") return "Fail simpleFunction: '$got' != '$expected'"
|
||||
|
||||
got = inlineFunctionProxy()
|
||||
if (got != "$expected") return "Fail inlineFunctionProxy: '$got' != '$expected'"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1..7:
|
||||
dependencies: lib1, lib2
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction, main, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.info
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction, main, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6..7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
|
||||
Reference in New Issue
Block a user