Refine diagnostics reported on primary constructors

This commit is contained in:
Denis Zharkov
2015-05-29 19:06:55 +03:00
parent 9c574469ca
commit 7f9d2e8a36
10 changed files with 44 additions and 24 deletions
@@ -4,10 +4,13 @@ interface T1<!CONSTRUCTOR_IN_TRAIT!>(val x: String)<!> {}
interface T2<!CONSTRUCTOR_IN_TRAIT!>()<!> {}
interface T3<!CONSTRUCTOR_IN_TRAIT!>(<!UNUSED_PARAMETER!>a<!>: Int)<!> {}
interface T3 private <!CONSTRUCTOR_IN_TRAIT!>constructor(<!UNUSED_PARAMETER!>a<!>: Int)<!> {}
interface T4 {
<!CONSTRUCTOR_IN_TRAIT!>constructor(a: <!DEBUG_INFO_MISSING_UNRESOLVED!>Int<!>) {
<!CONSTRUCTOR_IN_TRAIT!>constructor(a: <!DEBUG_INFO_MISSING_UNRESOLVED!>Int<!>)<!> {
val b: <!DEBUG_INFO_MISSING_UNRESOLVED!>Int<!> = 1
}<!>
}
}
}
interface T5 private <!CONSTRUCTOR_IN_TRAIT!>()<!> : T4 {}
interface T6 <!CONSTRUCTOR_IN_TRAIT!>private<!><!SYNTAX!><!> : T5 {}
@@ -23,7 +23,7 @@ internal interface T2 {
}
internal interface T3 {
public constructor T3(/*0*/ a: kotlin.Int)
private 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
@@ -34,3 +34,15 @@ internal interface T4 {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal interface T5 : T4 {
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 interface T6 : T5 {
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
}
@@ -1,20 +1,20 @@
object A {
<!SECONDARY_CONSTRUCTOR_IN_OBJECT!>constructor()
<!>init {}
<!CONSTRUCTOR_IN_OBJECT!>constructor()<!>
init {}
}
enum class B {
X() {
<!SECONDARY_CONSTRUCTOR_IN_OBJECT!>constructor()
<!>}
<!CONSTRUCTOR_IN_OBJECT!>constructor()<!>
}
}
class C {
companion object {
<!SECONDARY_CONSTRUCTOR_IN_OBJECT!>constructor()
<!>}
<!CONSTRUCTOR_IN_OBJECT!>constructor()<!>
}
}
val anonObject = object {
<!SECONDARY_CONSTRUCTOR_IN_OBJECT!>constructor()
<!>}
<!CONSTRUCTOR_IN_OBJECT!>constructor()<!>
}
@@ -1,3 +1,3 @@
interface A {
<!CONSTRUCTOR_IN_TRAIT!>constructor()
<!>}
<!CONSTRUCTOR_IN_TRAIT!>constructor()<!>
}
@@ -6,4 +6,4 @@ class A {
}
}
class C <!PLATFORM_STATIC_ILLEGAL_USAGE!>platformStatic constructor()<!>
class C platformStatic <!PLATFORM_STATIC_ILLEGAL_USAGE!>constructor()<!>