Resolve constructors declared in traits and objects

It prevents exceptions and produces less red code

 #EA-68667 Fixed
This commit is contained in:
Denis Zharkov
2015-05-29 15:58:08 +03:00
parent 7f9d2e8a36
commit 70dbbd8fda
23 changed files with 179 additions and 31 deletions
+23
View File
@@ -0,0 +1,23 @@
trait A1() {
constructor(x: Int = "", y: Int) : this() {
x + y
}
}
trait A2 private constructor(private val prop: Int) {
constructor(x: Int = "", y: Int) : this(x * y) {
x + y
}
}
//internal interface A1 defined in root package
//public constructor A1() defined in A1
//public constructor A1(x: kotlin.Int = ..., y: kotlin.Int) defined in A1
//value-parameter val x: kotlin.Int = ... defined in A1.<init>
//value-parameter val y: kotlin.Int defined in A1.<init>
//internal interface A2 defined in root package
//private constructor A2(prop: kotlin.Int) defined in A2
//value-parameter val prop: kotlin.Int defined in A2.<init>
//public constructor A2(x: kotlin.Int = ..., y: kotlin.Int) defined in A2
//value-parameter val x: kotlin.Int = ... defined in A2.<init>
//value-parameter val y: kotlin.Int defined in A2.<init>