[FIR] Use tower to resolve delegated constructors, set dispatch receiver
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
open class A<T1, T2> {
|
||||
open inner class A1(val a1: T1)
|
||||
open inner class A2(val a2: T2)
|
||||
|
||||
open fun f1(arg: T1) = arg
|
||||
open fun f2(arg: T2) = arg
|
||||
}
|
||||
|
||||
open class B<T> : A<T, Int>() {
|
||||
open inner class B1(b1: T) : <!INAPPLICABLE_CANDIDATE!>A1<!>(b1)
|
||||
open inner class B2(b2: Int) : <!INAPPLICABLE_CANDIDATE!>A2<!>(b2)
|
||||
|
||||
fun variableToKnownParameter(p: T): Int =
|
||||
p as? Int ?: 0
|
||||
|
||||
inner class B3(b3: T) : <!INAPPLICABLE_CANDIDATE!>A2<!>(variableToKnownParameter(b3))
|
||||
|
||||
override fun f1(arg: T) = arg
|
||||
override fun f2(arg: Int) = arg
|
||||
}
|
||||
|
||||
class C : B<String>() {
|
||||
inner class C1(c1: String): <!INAPPLICABLE_CANDIDATE!>B1<!>(c1)
|
||||
inner class C2 : B2(15)
|
||||
|
||||
override fun f1(arg: String) = arg
|
||||
override fun f2(arg: Int) = arg
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
open class A<T1, T2> {
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
abstract class TestType<V: Any> {
|
||||
open inner class Inner(val item: V)
|
||||
}
|
||||
|
||||
class Derived: TestType<Long>() {
|
||||
inner class DerivedInner(item: Long): <!INAPPLICABLE_CANDIDATE!>Inner<!>(item)
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
abstract class TestType<V: Any> {
|
||||
|
||||
Reference in New Issue
Block a user