fix KT-9843 Bug in incremental compilation: module is not recompiled when optional parameter added
and KT-8434 Removing parameter with default value from function in different module breaks incremental compilation
#KT-9843 Fixed
#KT-8434 Fixed
Original commit: 981d471ebe
This commit is contained in:
@@ -61,6 +61,30 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("defaultParameterAdded")
|
||||
public void testDefaultParameterAdded() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("defaultParameterAddedForTopLevelFun")
|
||||
public void testDefaultParameterAddedForTopLevelFun() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAddedForTopLevelFun/");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("defaultParameterRemoved")
|
||||
public void testDefaultParameterRemoved() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterRemoved/");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("defaultParameterRemovedForTopLevelFun")
|
||||
public void testDefaultParameterRemovedForTopLevelFun() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterRemovedForTopLevelFun/");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionInlined")
|
||||
public void testInlineFunctionInlined() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/inlineFunctionInlined/");
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
Cleaning output files:
|
||||
out/production/module1/a/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module1/src/module1_a.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module2/META-INF/module2.kotlin_module
|
||||
out/production/module2/usage/Module2_usageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module2/src/module2_usage.kt
|
||||
End of files
|
||||
@@ -0,0 +1,2 @@
|
||||
module1->
|
||||
module2->module1
|
||||
@@ -0,0 +1,6 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
fun foo(s: String, x: Int = 10) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
fun foo(s: String, x: Int = 10, y:Int = 20) {}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package usage
|
||||
|
||||
import a.A
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().foo("")
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
Cleaning output files:
|
||||
out/production/module1/META-INF/module1.kotlin_module
|
||||
out/production/module1/a/Module1_aKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module1/src/module1_a.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module2/META-INF/module2.kotlin_module
|
||||
out/production/module2/usage/Module2_usageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module2/src/module2_usage.kt
|
||||
End of files
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
module1->
|
||||
module2->module1
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package a
|
||||
|
||||
fun foo(s: String, x: Int = 10) {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package a
|
||||
|
||||
fun foo(s: String, x: Int = 10, y:Int = 20) {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package usage
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
a.foo("")
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
Cleaning output files:
|
||||
out/production/module1/a/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module1/src/module1_a.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module2/META-INF/module2.kotlin_module
|
||||
out/production/module2/usage/Module2_usageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module2/src/module2_usage.kt
|
||||
End of files
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
module1->
|
||||
module2->module1
|
||||
@@ -0,0 +1,6 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
fun foo(x:Int = 10) {
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package usage
|
||||
|
||||
fun b(param: a.A) {
|
||||
param.foo()
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
Cleaning output files:
|
||||
out/production/module1/META-INF/module1.kotlin_module
|
||||
out/production/module1/a/Module1_aKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module1/src/module1_a.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module2/META-INF/module2.kotlin_module
|
||||
out/production/module2/usage/Module2_usageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
module2/src/module2_usage.kt
|
||||
End of files
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
module1->
|
||||
module2->module1
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package a
|
||||
|
||||
fun foo(x: Int = 10) {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package a
|
||||
|
||||
fun foo() {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package usage
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
a.foo()
|
||||
}
|
||||
Reference in New Issue
Block a user