Recompile all class usages when constructor is changed

This commit is contained in:
Alexey Tsvetkov
2015-12-24 14:35:18 +03:00
parent 5fcb9ca2bd
commit 94d4dae1fe
17 changed files with 85 additions and 27 deletions
@@ -0,0 +1 @@
open class A(val x: Int)
@@ -0,0 +1,3 @@
open class A(val x: Int) {
constructor(x: String) : this(x.toInt())
}
@@ -0,0 +1 @@
class AChild(x: Int) : A(x)
@@ -0,0 +1 @@
fun A(x: String) = A(x.toInt())
@@ -0,0 +1,37 @@
Cleaning output files:
out/production/module/A.class
End of files
Compiling files:
src/A.kt
End of files
Cleaning output files:
out/production/module/AChild.class
out/production/module/AConstructorFunctionKt.class
out/production/module/CreateAFromIntKt.class
out/production/module/CreateAFromStringKt.class
out/production/module/META-INF/module.kotlin_module
out/production/module/UseAKt.class
End of files
Compiling files:
src/AChild.kt
src/AConstructorFunction.kt
src/createAFromInt.kt
src/createAFromString.kt
src/useA.kt
End of files
COMPILATION FAILED
Overload resolution ambiguity:
public constructor A(x: kotlin.String) defined in A
public fun A(x: kotlin.String): A defined in root package
Cleaning output files:
out/production/module/A.class
End of files
Compiling files:
src/A.kt
src/AChild.kt
src/createAFromInt.kt
src/createAFromString.kt
src/useA.kt
End of files
@@ -0,0 +1 @@
fun createAFromInt() = A(5)
@@ -0,0 +1 @@
fun createAFromString() = A("5")
@@ -0,0 +1 @@
fun useA(a: A) {}
@@ -0,0 +1 @@
fun useAChild(a: AChild) {}