Add incremental tests for parameters with default values

Original commit: d352905a72
This commit is contained in:
Alexey Tsvetkov
2016-03-09 14:17:20 +03:00
parent 1e279a8c35
commit a763af2ae0
109 changed files with 1128 additions and 15 deletions
@@ -287,9 +287,57 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("defaultArguments")
public void testDefaultArguments() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArguments/");
@TestMetadata("defaultArgumentInConstructorAdded")
public void testDefaultArgumentInConstructorAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/");
doTest(fileName);
}
@TestMetadata("defaultArgumentInConstructorRemoved")
public void testDefaultArgumentInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("defaultValueAdded")
public void testDefaultValueAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/");
doTest(fileName);
}
@TestMetadata("defaultValueChanged")
public void testDefaultValueChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueChanged/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorAdded")
public void testDefaultValueInConstructorAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorAdded/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorChanged")
public void testDefaultValueInConstructorChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorChanged/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorRemoved")
public void testDefaultValueInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("defaultValueRemoved1")
public void testDefaultValueRemoved1() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/");
doTest(fileName);
}
@TestMetadata("defaultValueRemoved2")
public void testDefaultValueRemoved2() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/");
doTest(fileName);
}
@@ -1231,6 +1279,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("multiModuleDefaultArgumentInConstructorRemoved")
public void testMultiModuleDefaultArgumentInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/multiModuleDefaultArgumentInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("multiModuleDefaultValueInConstructorRemoved")
public void testMultiModuleDefaultValueInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/multiModuleDefaultValueInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("multiModuleExported")
public void testMultiModuleExported() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/multiModuleExported/");
@@ -287,9 +287,57 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
doTest(fileName);
}
@TestMetadata("defaultArguments")
public void testDefaultArguments() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArguments/");
@TestMetadata("defaultArgumentInConstructorAdded")
public void testDefaultArgumentInConstructorAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/");
doTest(fileName);
}
@TestMetadata("defaultArgumentInConstructorRemoved")
public void testDefaultArgumentInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("defaultValueAdded")
public void testDefaultValueAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/");
doTest(fileName);
}
@TestMetadata("defaultValueChanged")
public void testDefaultValueChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueChanged/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorAdded")
public void testDefaultValueInConstructorAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorAdded/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorChanged")
public void testDefaultValueInConstructorChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorChanged/");
doTest(fileName);
}
@TestMetadata("defaultValueInConstructorRemoved")
public void testDefaultValueInConstructorRemoved() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/");
doTest(fileName);
}
@TestMetadata("defaultValueRemoved1")
public void testDefaultValueRemoved1() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/");
doTest(fileName);
}
@TestMetadata("defaultValueRemoved2")
public void testDefaultValueRemoved2() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/");
doTest(fileName);
}
@@ -159,6 +159,12 @@ public class ProtoComparisonTestGenerated extends AbstractProtoComparisonTest {
doTest(fileName);
}
@TestMetadata("defaultValues")
public void testDefaultValues() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/comparison/classMembersOnlyChanged/defaultValues/");
doTest(fileName);
}
@TestMetadata("membersFlagsChanged")
public void testMembersFlagsChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/");
@@ -181,6 +187,12 @@ public class ProtoComparisonTestGenerated extends AbstractProtoComparisonTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/comparison/packageMembers"), Pattern.compile("^([^\\.]+)$"), true);
}
@TestMetadata("defaultValues")
public void testDefaultValues() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/comparison/packageMembers/defaultValues/");
doTest(fileName);
}
@TestMetadata("membersFlagsChanged")
public void testMembersFlagsChanged() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/");
@@ -0,0 +1,17 @@
package test
class A {
fun argumentAdded(x: Int = 1) {}
fun argumentRemoved() {}
fun valueAdded(x: Int = 3) {}
fun valueRemoved(x: Int) {}
fun valueChanged(x: Int = 6) {}
}
class ConstructorValueAdded(x: Int = 7)
class ConstructorValueRemoved(x: Int)
class ConstructorValueChanged(x: Int = 20)
class ConstructorArgumentAdded(x: Int = 9)
class ConstructorArgumentRemoved()
@@ -0,0 +1,17 @@
package test
class A {
fun argumentAdded() {}
fun argumentRemoved(x: Int = 2) {}
fun valueAdded(x: Int) {}
fun valueRemoved(x: Int = 4) {}
fun valueChanged(x: Int = 5) {}
}
class ConstructorValueAdded(x: Int)
class ConstructorValueRemoved(x: Int = 8)
class ConstructorValueChanged(x: Int = 19)
class ConstructorArgumentAdded()
class ConstructorArgumentRemoved(x: Int = 10)
@@ -0,0 +1,7 @@
changes in test/A: MEMBERS
[argumentAdded, argumentRemoved, valueAdded, valueRemoved]
changes in test/ConstructorArgumentAdded: CLASS_SIGNATURE
changes in test/ConstructorArgumentRemoved: CLASS_SIGNATURE
changes in test/ConstructorValueAdded: CLASS_SIGNATURE
changes in test/ConstructorValueChanged: NONE
changes in test/ConstructorValueRemoved: CLASS_SIGNATURE
@@ -0,0 +1,8 @@
package test
fun argumentAdded(x: Int = 1) {}
fun argumentRemoved() {}
fun valueAdded(x: Int = 3) {}
fun valueRemoved(x: Int) {}
fun valueChanged(x: Int = 6) {}
@@ -0,0 +1,8 @@
package test
fun argumentAdded() {}
fun argumentRemoved(x: Int = 2) {}
fun valueAdded(x: Int) {}
fun valueRemoved(x: Int = 4) {}
fun valueChanged(x: Int = 5) {}
@@ -0,0 +1,2 @@
changes in test/MainKt: MEMBERS
[argumentAdded, argumentRemoved, valueAdded, valueRemoved]
@@ -0,0 +1,38 @@
================ Step #1 =================
Cleaning output files:
out/production/module1/foo/A.class
End of files
Compiling files:
module1/src/module1_A.kt
End of files
Marked as dirty by Kotlin:
module2/src/module2_createADefault.kt
module2/src/module2_createANonDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/Module2_createADefaultKt.class
out/production/module2/foo/Module2_createANonDefaultKt.class
End of files
Compiling files:
module2/src/module2_createADefault.kt
module2/src/module2_createANonDefault.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Too many arguments for public constructor A() defined in foo.A
================ Step #2 =================
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
module2/src/module2_createADefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,38 @@
================ Step #1 =================
Cleaning output files:
out/production/module1/foo/A.class
End of files
Compiling files:
module1/src/module1_A.kt
End of files
Marked as dirty by Kotlin:
module2/src/module2_createADefault.kt
module2/src/module2_createANonDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/Module2_createADefaultKt.class
out/production/module2/foo/Module2_createANonDefaultKt.class
End of files
Compiling files:
module2/src/module2_createADefault.kt
module2/src/module2_createANonDefault.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter x
================ Step #2 =================
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
module2/src/module2_createANonDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createANonDefault() {
A(20)
}
@@ -0,0 +1,3 @@
package foo
open class A()
@@ -0,0 +1,3 @@
package foo
open class A(x: Int = 10)
@@ -0,0 +1,3 @@
package foo
open class B() : A()
@@ -0,0 +1,3 @@
package foo
class C : B()
@@ -0,0 +1,29 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/C.class
out/production/module/foo/CreateAKt.class
out/production/module/foo/CreateBKt.class
out/production/module/foo/UseAKt.class
out/production/module/foo/UseBKt.class
End of files
Compiling files:
src/B.kt
src/C.kt
src/createA.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createADefault() {
A()
}
@@ -0,0 +1,5 @@
package foo
fun createB() {
B()
}
@@ -0,0 +1,27 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Marked as dirty by Kotlin:
src/B.kt
src/createA.kt
src/useA.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/CreateAKt.class
out/production/module/foo/UseAKt.class
End of files
Compiling files:
src/B.kt
src/createA.kt
src/useA.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package foo
fun useA(a: A) {}
@@ -0,0 +1,3 @@
package foo
fun useB(b: B) {}
@@ -0,0 +1,3 @@
package foo
open class A(x: Int = 10)
@@ -0,0 +1,3 @@
package foo
open class A()
@@ -0,0 +1,3 @@
package foo
open class B() : A()
@@ -0,0 +1,3 @@
package foo
class C : B()
@@ -0,0 +1,50 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/C.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/CreateBKt.class
out/production/module/foo/UseAKt.class
out/production/module/foo/UseBKt.class
End of files
Compiling files:
src/B.kt
src/C.kt
src/createADefault.kt
src/createANonDefault.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Too many arguments for public constructor A() defined in foo.A
================ Step #2 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
src/B.kt
src/C.kt
src/createADefault.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createADefault() {
A()
}
@@ -0,0 +1,5 @@
package foo
fun createANonDefault() {
A(10)
}
@@ -0,0 +1,5 @@
package foo
fun createB() {
B()
}
@@ -0,0 +1,46 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Marked as dirty by Kotlin:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/UseAKt.class
End of files
Compiling files:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Too many arguments for public constructor A() defined in foo.A
================ Step #2 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
src/B.kt
src/createADefault.kt
src/useA.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package foo
fun useA(a: A) {}
@@ -0,0 +1,3 @@
package foo
fun useB(b: B) {}
@@ -1,3 +0,0 @@
fun a(p1: String, p2: String? = null) {
}
@@ -1,3 +0,0 @@
fun b(p1: String, p2: String? = null) {
}
@@ -0,0 +1,24 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/other/OtherKt.class
out/production/module/test/UseDefaultKt.class
out/production/module/test/UseNonDefaultKt.class
End of files
Compiling files:
src/other.kt
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,25 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Marked as dirty by Kotlin:
src/useDefault.kt
src/useNonDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/UseDefaultKt.class
out/production/module/test/UseNonDefaultKt.class
End of files
Compiling files:
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,9 @@
package test
fun f(x: Any) {
println("f(x: Any)")
}
fun f(x: Int, y: Int) {
println("f(x=$x, y=$y)")
}
@@ -0,0 +1,9 @@
package test
fun f(x: Any) {
println("f(x: Any)")
}
fun f(x: Int, y: Int = 2) {
println("f(x=$x, y=$y)")
}
@@ -0,0 +1,3 @@
package other
fun other() {}
@@ -0,0 +1,5 @@
package test
fun useDefault1() {
f(10)
}
@@ -0,0 +1,5 @@
package test
fun useNonDefault() {
f(10, 20)
}
@@ -1,11 +1,11 @@
================ Step #1 =================
Cleaning output files:
out/production/module/AKt.class
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/FunKt.class
End of files
Compiling files:
src/a.kt
src/fun.kt
End of files
Exit code: OK
------------------------------------------
------------------------------------------
@@ -0,0 +1,3 @@
package foo
fun f(x: Int = 10) {}
@@ -0,0 +1,3 @@
package foo
fun f(x: Int = 20) {}
@@ -0,0 +1,5 @@
package foo
fun useDefault() {
f()
}
@@ -0,0 +1,5 @@
package foo
fun useNonDefault() {
f(15)
}
@@ -0,0 +1,8 @@
package foo
open class A(x: Int)
// The use of annotation here is intentional, so no change for "fun A" is detected,
// but after adding default value to A constructor, we want to force resolve to the constructor
@Deprecated("Warning", level = DeprecationLevel.WARNING)
fun A() = A(30)
@@ -0,0 +1,8 @@
package foo
open class A(x: Int = 10)
// The use of annotation here is intentional, so no change for "fun A" is detected,
// but after adding default value to A constructor, we want to force resolve to the constructor
@Deprecated("Hidden", level = DeprecationLevel.HIDDEN)
fun A() = A(30)
@@ -0,0 +1,3 @@
package foo
open class B() : A(20)
@@ -0,0 +1,3 @@
package foo
class C : B()
@@ -0,0 +1,33 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/A.class
out/production/module/foo/AKt.class
End of files
Compiling files:
src/A.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/C.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/CreateBKt.class
out/production/module/foo/UseAKt.class
out/production/module/foo/UseBKt.class
End of files
Compiling files:
src/B.kt
src/C.kt
src/createADefault.kt
src/createANonDefault.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createADefault() {
A()
}
@@ -0,0 +1,5 @@
package foo
fun createANonDefault() {
A(15)
}
@@ -0,0 +1,5 @@
package foo
fun createB() {
B()
}
@@ -0,0 +1,32 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/A.class
out/production/module/foo/AKt.class
End of files
Compiling files:
src/A.kt
End of files
Marked as dirty by Kotlin:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/UseAKt.class
End of files
Compiling files:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package foo
fun useA(a: A) {}
@@ -0,0 +1,3 @@
package foo
fun useB(b: B) {}
@@ -0,0 +1,3 @@
package foo
open class A(x: Int = 10)
@@ -0,0 +1,3 @@
package foo
open class A(x: Int = 11)
@@ -0,0 +1,3 @@
package foo
open class B() : A(20)
@@ -0,0 +1,3 @@
package foo
class C : B()
@@ -0,0 +1,10 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createADefault() {
A()
}
@@ -0,0 +1,5 @@
package foo
fun createANonDefault() {
A(15)
}
@@ -0,0 +1,5 @@
package foo
fun createB() {
B()
}
@@ -0,0 +1,3 @@
package foo
fun useA(a: A) {}
@@ -0,0 +1,3 @@
package foo
fun useB(b: B) {}
@@ -0,0 +1,3 @@
package foo
open class A(x: Int = 10)
@@ -0,0 +1,3 @@
package foo
open class A(x: Int)
@@ -0,0 +1,3 @@
package foo
open class B() : A()
@@ -0,0 +1,3 @@
package foo
class C : B()
@@ -0,0 +1,52 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/C.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/CreateBKt.class
out/production/module/foo/UseAKt.class
out/production/module/foo/UseBKt.class
End of files
Compiling files:
src/B.kt
src/C.kt
src/createADefault.kt
src/createANonDefault.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter x
No value passed for parameter x
================ Step #2 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
src/B.kt
src/C.kt
src/createADefault.kt
src/createANonDefault.kt
src/createB.kt
src/useA.kt
src/useB.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
fun createADefault() {
A()
}
@@ -0,0 +1,5 @@
package foo
fun createANonDefault() {
A(10)
}
@@ -0,0 +1,5 @@
package foo
fun createB() {
B()
}
@@ -0,0 +1,48 @@
================ Step #1 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
End of files
Marked as dirty by Kotlin:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/B.class
out/production/module/foo/CreateADefaultKt.class
out/production/module/foo/CreateANonDefaultKt.class
out/production/module/foo/UseAKt.class
End of files
Compiling files:
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter x
No value passed for parameter x
================ Step #2 =================
Cleaning output files:
out/production/module/foo/A.class
End of files
Compiling files:
src/A.kt
src/B.kt
src/createADefault.kt
src/createANonDefault.kt
src/useA.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package foo
fun useA(a: A) {}
@@ -0,0 +1,3 @@
package foo
fun useB(b: B) {}
@@ -0,0 +1,40 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/other/OtherKt.class
out/production/module/test/UseDefaultKt.class
out/production/module/test/UseNonDefaultKt.class
End of files
Compiling files:
src/other.kt
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter x
================ Step #2 =================
Cleaning output files:
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
src/other.kt
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,40 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Marked as dirty by Kotlin:
src/useDefault.kt
src/useNonDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/UseDefaultKt.class
out/production/module/test/UseNonDefaultKt.class
End of files
Compiling files:
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter x
================ Step #2 =================
Cleaning output files:
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
src/useDefault.kt
src/useNonDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package test
fun f(x: Int = 1) {
println(x)
}
@@ -0,0 +1,5 @@
package test
fun f(x: Int) {
println(x)
}
@@ -0,0 +1,3 @@
package other
fun other() {}
@@ -0,0 +1,5 @@
package test
fun useDefault() {
f()
}
@@ -0,0 +1,5 @@
package test
fun useDefault() {
f(5)
}
@@ -0,0 +1,5 @@
package test
fun useNonDefault() {
f(10)
}
@@ -0,0 +1,44 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/other/OtherKt.class
out/production/module/test/UseDefault1Kt.class
out/production/module/test/UseDefault2Kt.class
out/production/module/test/UseNonDefaultKt.class
End of files
Compiling files:
src/other.kt
src/useDefault1.kt
src/useDefault2.kt
src/useNonDefault.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
No value passed for parameter y
No value passed for parameter y
================ Step #2 =================
Cleaning output files:
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
src/other.kt
src/useDefault1.kt
src/useDefault2.kt
src/useNonDefault.kt
End of files
Exit code: OK
------------------------------------------

Some files were not shown because too many files have changed in this diff Show More