FIR: set & use dispatch receiver for q. access with super reference
This commit is contained in:
+10
-10
@@ -25,8 +25,8 @@ FILE: abstractSuperCall.kt
|
||||
public abstract fun f(): R|kotlin/Unit|
|
||||
|
||||
public final fun t(): R|kotlin/Unit| {
|
||||
super<R|C|>.R|/C.h|()
|
||||
super<R|C|>.R|/C.x|
|
||||
this@R|/A|.super<R|C|>.R|/C.h|()
|
||||
this@R|/A|.super<R|C|>.R|/C.x|
|
||||
}
|
||||
|
||||
}
|
||||
@@ -39,10 +39,10 @@ FILE: abstractSuperCall.kt
|
||||
}
|
||||
|
||||
public final fun g(): R|kotlin/Unit| {
|
||||
super<R|A|>.R|/A.f|()
|
||||
super<R|A|>.R|/A.t|()
|
||||
super<R|A|>.R|/A.x|
|
||||
super<R|A|>.R|/A.y|
|
||||
this@R|/B|.super<R|A|>.R|/A.f|()
|
||||
this@R|/B|.super<R|A|>.R|/A.t|()
|
||||
this@R|/B|.super<R|A|>.R|/A.x|
|
||||
this@R|/B|.super<R|A|>.R|/A.y|
|
||||
}
|
||||
|
||||
}
|
||||
@@ -52,10 +52,10 @@ FILE: abstractSuperCall.kt
|
||||
}
|
||||
|
||||
public final fun r(): R|kotlin/Unit| {
|
||||
super<R|A|>.R|/A.f|()
|
||||
super<R|A|>.R|/A.t|()
|
||||
super<R|A|>.R|/A.x|
|
||||
super<R|A|>.R|/A.y|
|
||||
this@R|/J|.super<R|A|>.R|/A.f|()
|
||||
this@R|/J|.super<R|A|>.R|/A.t|()
|
||||
this@R|/J|.super<R|A|>.R|/A.x|
|
||||
this@R|/J|.super<R|A|>.R|/A.y|
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ FILE: notASupertype.kt
|
||||
}
|
||||
|
||||
public final fun g(): R|kotlin/Unit| {
|
||||
super<R|kotlin/String|>.<Unresolved name: f>#()
|
||||
super<R|A|>.R|/A.f|()
|
||||
this@R|/B|.super<R|kotlin/String|>.<Unresolved name: f>#()
|
||||
this@R|/B|.super<R|A|>.R|/A.f|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+12
-12
@@ -23,11 +23,11 @@ FILE: qualifiedSupertypeExtendedByOtherSupertype.kt
|
||||
}
|
||||
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
super<R|IBase|>.R|/IBase.foo|()
|
||||
super<R|IBase|>.R|/IBase.bar|()
|
||||
super<R|IDerived|>.R|/IDerived.foo|()
|
||||
super<R|IDerived|>.R|/IBase.bar|()
|
||||
super<R|IDerived|>.R|/IDerived.qux|()
|
||||
this@R|/Test|.super<R|IBase|>.R|/IBase.foo|()
|
||||
this@R|/Test|.super<R|IBase|>.R|/IBase.bar|()
|
||||
this@R|/Test|.super<R|IDerived|>.R|/IDerived.foo|()
|
||||
this@R|/Test|.super<R|IDerived|>.R|/IBase.bar|()
|
||||
this@R|/Test|.super<R|IDerived|>.R|/IDerived.qux|()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,13 +37,13 @@ FILE: qualifiedSupertypeExtendedByOtherSupertype.kt
|
||||
}
|
||||
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
super<R|IBase|>.R|/IBase.foo|()
|
||||
super<R|IBase|>.R|/IBase.bar|()
|
||||
super<R|AliasedIBase|>.R|/IBase.foo|()
|
||||
super<R|AliasedIBase|>.R|/IBase.bar|()
|
||||
super<R|IDerived|>.R|/IDerived.foo|()
|
||||
super<R|IDerived|>.R|/IBase.bar|()
|
||||
super<R|IDerived|>.R|/IDerived.qux|()
|
||||
this@R|/Test2|.super<R|IBase|>.R|/IBase.foo|()
|
||||
this@R|/Test2|.super<R|IBase|>.R|/IBase.bar|()
|
||||
this@R|/Test2|.super<R|AliasedIBase|>.R|/IBase.foo|()
|
||||
this@R|/Test2|.super<R|AliasedIBase|>.R|/IBase.bar|()
|
||||
this@R|/Test2|.super<R|IDerived|>.R|/IDerived.foo|()
|
||||
this@R|/Test2|.super<R|IDerived|>.R|/IBase.bar|()
|
||||
this@R|/Test2|.super<R|IDerived|>.R|/IDerived.qux|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ FILE: superclassNotAccessibleFromInterface.kt
|
||||
}
|
||||
public abstract interface ATrait : R|A| {
|
||||
public open override fun foo(): R|kotlin/Unit| {
|
||||
super<R|A|>.R|/A.foo|()
|
||||
this@R|/ATrait|.super<R|A|>.R|/A.foo|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-3
@@ -54,11 +54,11 @@ FILE: nestedVisibility.kt
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
Q|Outer|.<Inapplicable(HIDDEN): [/Outer.PrivateNested.PrivateNested]>#()
|
||||
super<R|Outer|>.<Inapplicable(HIDDEN): [/Outer.PrivateInner.PrivateInner]>#()
|
||||
this@R|/Derived|.super<R|Outer|>.<Inapplicable(HIDDEN): [/Outer.PrivateInner.PrivateInner]>#()
|
||||
Q|Outer|.R|/Outer.ProtectedNested.ProtectedNested|()
|
||||
super<R|Outer|>.R|/Outer.ProtectedInner.ProtectedInner|()
|
||||
this@R|/Derived|.super<R|Outer|>.R|/Outer.ProtectedInner.ProtectedInner|()
|
||||
Q|Outer|.R|/Outer.PublicNested.PublicNested|()
|
||||
super<R|Outer|>.R|/Outer.PublicInner.PublicInner|()
|
||||
this@R|/Derived|.super<R|Outer|>.R|/Outer.PublicInner.PublicInner|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ FILE: protectedVisibility.kt
|
||||
}
|
||||
|
||||
public final override fun foo(): R|kotlin/Int| {
|
||||
^foo super<R|Generic<kotlin/Int>|>.R|FakeOverride</Generic.foo: R|kotlin/Int|>|()
|
||||
^foo this@R|/DerivedGeneric|.super<R|Generic<kotlin/Int>|>.R|FakeOverride</Generic.foo: R|kotlin/Int|>|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ FILE: incorrectSuperCall.kt
|
||||
}
|
||||
|
||||
public final override fun foo(): R|kotlin/Unit| {
|
||||
super<R|A|R|B|>.R|/B.foo|()
|
||||
super<R|A|R|B|>.<Ambiguity: bar, [/A.bar, /B.bar]>#()
|
||||
super<R|A|R|B|>.R|/B.baz|()
|
||||
this@R|/C|.super<R|A|R|B|>.R|/B.foo|()
|
||||
this@R|/C|.super<R|A|R|B|>.<Ambiguity: bar, [/A.bar, /B.bar]>#()
|
||||
this@R|/C|.super<R|A|R|B|>.R|/B.baz|()
|
||||
this@R|/C|.R|/A.baz|()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user