Files
kotlin-fork/compiler/testData/diagnostics/tests/secondaryConstructors/argumentsResolveInBodyAndDelegationCall.fir.kt
T
Dmitriy Novozhilov f283f2db43 [FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00

26 lines
897 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
open class B(open val parentProp: Int)
val global: Int = 1
class A : B {
val myProp: Int = 1
override val parentProp = 1
constructor(x: Int, y: Int = global): super(x + y + global) {
foo(x, y, myProp)
x + y + myProp + parentProp + super.parentProp
}
constructor(x: Double, y: Int): this(x.toInt() + y, x.toInt() * y) {
foo(x.toInt(), y, myProp)
x + y + myProp + parentProp + super.parentProp
}
constructor(x: String, y: Int): <!INAPPLICABLE_CANDIDATE!>super<!>(x) {
<!INAPPLICABLE_CANDIDATE!>foo<!>(x, y, myProp)
x + y + myProp + parentProp + super.parentProp
}
constructor(x: B, y: Int = <!UNRESOLVED_REFERENCE!>global2<!>): <!NONE_APPLICABLE!>this<!>("", x) {
x.parentProp + y + myProp + parentProp + super.parentProp
}
fun foo(x: Int, y: Int, z: Int) = x
}