[FIR] Use tower to resolve delegated constructors, set dispatch receiver
This commit is contained in:
@@ -6,7 +6,7 @@ FILE: objectInnerClass.kt
|
||||
|
||||
local final inner class Child : R|<anonymous>.Base| {
|
||||
public[local] constructor(property: R|B|): R|<anonymous>.Child| {
|
||||
super<R|<anonymous>.Base|>(R|<local>/property|)
|
||||
this@R|/anonymous|.super<R|<anonymous>.Base|>(R|<local>/property|)
|
||||
}
|
||||
|
||||
public[local] final fun R|<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
@@ -69,7 +69,7 @@ FILE: objectInnerClass.kt
|
||||
|
||||
public final val x: R|anonymous| = object : R|Case2.Base| {
|
||||
private constructor(): R|anonymous| {
|
||||
super<R|Case2.Base|>(R|/B.B|())
|
||||
this@R|/Case2|.super<R|Case2.Base|>(R|/B.B|())
|
||||
}
|
||||
|
||||
public[local] final fun R|Case2.Base|.zoo(): R|kotlin/Unit| {
|
||||
@@ -131,7 +131,7 @@ FILE: objectInnerClass.kt
|
||||
|
||||
local final inner class Child : R|Case3.<anonymous>.Base| {
|
||||
public[local] constructor(property: R|B|): R|Case3.<anonymous>.Child| {
|
||||
super<R|Case3.<anonymous>.Base|>(R|<local>/property|)
|
||||
this@R|/anonymous|.super<R|Case3.<anonymous>.Base|>(R|<local>/property|)
|
||||
}
|
||||
|
||||
public[local] final fun R|Case3.<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
class Outer { inner class Inner }
|
||||
fun test() {
|
||||
val x = object : <!UNRESOLVED_REFERENCE!>Outer.Inner<!>() { }
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
FILE: objectDerivedFromInnerClass.kt
|
||||
public final class Outer : R|kotlin/Any| {
|
||||
public constructor(): R|Outer| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final inner class Inner : R|kotlin/Any| {
|
||||
public constructor(): R|Outer.Inner| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval x: R|anonymous| = object : R|Outer.Inner| {
|
||||
private constructor(): R|anonymous| {
|
||||
super<R|Outer.Inner|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,7 @@ abstract class My<T : Some> {
|
||||
|
||||
abstract val z: test.My.T
|
||||
|
||||
class Some : T()
|
||||
class Some : <!UNRESOLVED_REFERENCE!>T<!>()
|
||||
}
|
||||
|
||||
abstract class Your<T : Some> : <!OTHER_ERROR!>T<!>
|
||||
+4
-4
@@ -38,9 +38,9 @@ interface E {
|
||||
|
||||
}
|
||||
|
||||
class Test2 : A.APublicI, B.BInner {
|
||||
<!UNRESOLVED_REFERENCE!>class Test2 : A.APublicI, B.BInner {
|
||||
|
||||
}
|
||||
}<!>
|
||||
|
||||
class Test3 : C.CPublicI, <!EXPOSED_SUPER_CLASS!>C<!> {
|
||||
|
||||
@@ -50,9 +50,9 @@ class Test4 : E, A.AProtectedI {
|
||||
|
||||
}
|
||||
|
||||
class Test5 : C.CPublicI, B.BInner {
|
||||
<!UNRESOLVED_REFERENCE!>class Test5 : C.CPublicI, B.BInner {
|
||||
|
||||
}
|
||||
}<!>
|
||||
|
||||
class Test6 : E, <!EXPOSED_SUPER_CLASS!>C.CPublic<!> {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user