[K/JS] Implement an incremental compilation for the per-file granularity
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 3; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 0; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 2; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 1; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 5; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 4; }
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-a.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
@file:JsModule("../js-module-a.mjs")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-a-new.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
@file:JsModule("../js-module-b.mjs")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-b.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-b-new.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun demoFunction() = externalDemoFunction()
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun demoFunction() = -1
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : JsModuleA.0.kt -> JsModuleA.kt
|
||||
U : JsModuleB.0.kt -> JsModuleB.kt
|
||||
U : demo.0.kt -> demo.kt
|
||||
added file: JsModuleA.kt, JsModuleB.kt, demo.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : JsModuleA.1.kt -> JsModuleA.kt
|
||||
U : JsModuleB.1.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleA.kt, JsModuleB.kt
|
||||
updated imports: demo.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : JsModuleB.2.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleB.kt
|
||||
updated imports: demo.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : demo.3.kt -> demo.kt
|
||||
modified ir: demo.kt
|
||||
STEP 4:
|
||||
modifications:
|
||||
U : JsModuleA.4.kt -> JsModuleA.kt
|
||||
U : JsModuleB.0.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleA.kt, JsModuleB.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : JsModuleA.1.kt -> JsModuleA.kt
|
||||
modified ir: JsModuleA.kt
|
||||
updated exports: JsModuleA.kt
|
||||
STEP 6:
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-c")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-c-new")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : test.0.kt -> test.kt
|
||||
added file: test.kt
|
||||
STEP 1..2:
|
||||
dependencies: lib1
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : test.3.kt -> test.kt
|
||||
modified ir: test.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
updated imports: test.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : JsModuleC.5.kt -> JsModuleC.kt
|
||||
added file: JsModuleC.kt
|
||||
updated exports: JsModuleC.kt
|
||||
updated imports: test.kt
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : JsModuleC.6.kt -> JsModuleC.kt
|
||||
modified ir: JsModuleC.kt
|
||||
updated imports: test.kt
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun testFunction() = demoFunction()
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun testFunction() = externalDemoFunction() + 1
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
fun box(stepId: Int): String {
|
||||
val x = testFunction()
|
||||
if (x != stepId) {
|
||||
return "Fail: $x != $stepId"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1..6:
|
||||
dependencies: lib1, lib2
|
||||
js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/project.info
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
IGNORE_PER_MODULE: true
|
||||
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB, lib2/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleB
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib2/test
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/JsModuleA, lib1/JsModuleB, lib2/test
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/JsModuleA, lib2/JsModuleC, lib2/test
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib2/JsModuleC, lib2/test
|
||||
Reference in New Issue
Block a user