Add incremental tests for parameters with default values

This commit is contained in:
Alexey Tsvetkov
2016-03-09 14:17:20 +03:00
parent d6506d9770
commit d352905a72
109 changed files with 1128 additions and 15 deletions
@@ -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) {}