Generate descriptor for trait constructor. Exception is thrown otherwise (EA-38416)

This commit is contained in:
Nikolay Krasko
2015-03-10 20:52:46 +03:00
parent 38809761e2
commit 6ba120bba8
7 changed files with 121 additions and 23 deletions
@@ -0,0 +1,7 @@
class C(val a: String) {}
trait T1<!CONSTRUCTOR_IN_TRAIT!>(val x: String)<!> {}
trait T2<!CONSTRUCTOR_IN_TRAIT!>()<!> {}
trait T3<!CONSTRUCTOR_IN_TRAIT!>(<!UNUSED_PARAMETER!>a<!>: Int)<!> {}
@@ -0,0 +1,30 @@
package
internal final class C {
public constructor C(/*0*/ a: kotlin.String)
internal final val a: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait T1 {
public constructor T1(/*0*/ x: kotlin.String)
internal final val x: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait T2 {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait T3 {
public constructor T3(/*0*/ a: kotlin.Int)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}