Files
kotlin-fork/compiler/testData/diagnostics/tests/secondaryConstructors/generics3.txt
T
Denis Zharkov 36665fe3b8 Change logic of constructor delegation call resolution
- If class has type arguments (A<T1,..>) then
  resolve it's delegation call to `this` as for expression A<T1, ..>()
  like type arguments are explicitly specified.

- Same logic works for `super` delegation calls.

- It could be just enough to substitute all candidates before resolve
  but diagnostic messages looks more correct when substitution is
  performed within CandidateResolver.performResolutionForCandidateCall
  because it works the same way as when resolving A<T1, ..>().

 #KT-6992 Fixed
 #KT-6993 Fixed
 #KT-6994 Fixed
2015-03-17 23:18:35 +03:00

23 lines
1.6 KiB
Plaintext
Vendored

package
internal final class A</*0*/ T1, /*1*/ T2 : T1> : B<T1, T2> {
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T1, /*1*/ y: T2)
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T1, /*1*/ z: kotlin.String, /*2*/ z1: kotlin.String, /*3*/ z2: kotlin.String, /*4*/ z3: kotlin.String)
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T1, /*1*/ z: kotlin.String, /*2*/ z1: kotlin.String, /*3*/ z2: kotlin.String, /*4*/ z3: kotlin.String, /*5*/ z4: kotlin.String)
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T2, /*1*/ y: T2, /*2*/ z: kotlin.String)
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T2, /*1*/ z: kotlin.String, /*2*/ z1: kotlin.String)
public constructor A</*0*/ T1, /*1*/ T2 : T1>(/*0*/ x: T2, /*1*/ z: kotlin.String, /*2*/ z1: kotlin.String, /*3*/ z2: 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 open class B</*0*/ X, /*1*/ Y : X> {
public constructor B</*0*/ X, /*1*/ Y : X>(/*0*/ x: X, /*1*/ y: Y)
public constructor B</*0*/ X, /*1*/ Y : X>(/*0*/ x: X, /*1*/ s: kotlin.String)
public constructor B</*0*/ X, /*1*/ Y : X>(/*0*/ y: Y, /*1*/ i: 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
}