808355d817
They appeared, after the changes in previous commits at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer#transformDelegatedConstructorCall The idea is that dispatch receiver is available there in old FE, but additional diagnostic should be reported on it (see KT-38813) This change was not made intentionaly but it was the easiest way to support new tower data elements structure and on the other side it's the correct behavior as for old FE. Also, if we once would prefer the previous behavior it's still not very hard to support it
66 lines
1.3 KiB
Kotlin
Vendored
66 lines
1.3 KiB
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
|
|
class A(
|
|
n: Nested = foo(),
|
|
n2: Nested = Nested(),
|
|
inn: Inner = null!!,
|
|
inn2: Inner = Inner(),
|
|
i: Interface = null!!,
|
|
c: Int = CONST,
|
|
cc: Int = Companion.CONST,
|
|
cn: Int = Nested.CONST,
|
|
ci: Int = Interface.CONST,
|
|
t1: Int = a,
|
|
t2: Int = b()
|
|
) {
|
|
|
|
constructor(
|
|
dummy: Int,
|
|
n: Nested = foo(),
|
|
n2: Nested = Nested(),
|
|
inn: Inner = null!!,
|
|
inn2: Inner = Inner(),
|
|
i: Interface = null!!,
|
|
c: Int = CONST,
|
|
cc: Int = Companion.CONST,
|
|
cn: Int = Nested.CONST,
|
|
ci: Int = Interface.CONST,
|
|
t1: Int = a,
|
|
t2: Int = b()
|
|
) : this(
|
|
foo(),
|
|
Nested(),
|
|
inn,
|
|
Inner(),
|
|
i,
|
|
CONST,
|
|
Companion.CONST,
|
|
Nested.CONST,
|
|
Interface.CONST,
|
|
a,
|
|
b()
|
|
)
|
|
|
|
class Nested {
|
|
companion object {
|
|
const val CONST = 2
|
|
}
|
|
}
|
|
|
|
inner class Inner
|
|
|
|
interface Interface {
|
|
companion object {
|
|
const val CONST = 3
|
|
}
|
|
}
|
|
|
|
val a = 1
|
|
fun b() = 2
|
|
|
|
companion object {
|
|
const val CONST = 1
|
|
fun foo(): Nested = null!!
|
|
}
|
|
}
|