[FIR] Properly assign <local> packages to symbols
This prevents `FirConflictsExpressionChecker.kt` from missing conflicting local functions. It used to due to inconsistencies in assigning `<local>`, and this commit makes it a bit more straightforward. The change in KtClassTypeQualifierRenderer prevents `FirOverrideImplementTest.testLocalClass` from failing in `intellij`. It didn't fail for callables, because `KtCallableSignatureRenderer` doesn't try to render packages. ^KT-59186 Fixed
This commit is contained in:
committed by
Space Team
parent
cf655fd5ad
commit
f9c6af4d2a
@@ -5,14 +5,14 @@ FILE: kt53819.kt
|
||||
private get(): R|kotlin/Int|
|
||||
private set(value: R|kotlin/Int|): R|kotlin/Unit|
|
||||
|
||||
public constructor(x: R|kotlin/Int|): R|Foo| {
|
||||
public constructor(x: R|kotlin/Int|): R|<local>/Foo| {
|
||||
super<R|kotlin/Any|>()
|
||||
this@R|/Foo|.R|<local>/_x| = R|<local>/x|
|
||||
this@R|<local>/Foo|.R|<local>/_x| = R|<local>/x|
|
||||
}
|
||||
|
||||
public final val x: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int| {
|
||||
^ this@R|/Foo|.R|<local>/_x|
|
||||
^ this@R|<local>/Foo|.R|<local>/_x|
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ FILE: annotatedLocalClass.kt
|
||||
}
|
||||
|
||||
@R|Ann|() local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ FILE: innerClassInAnonymousObject.kt
|
||||
}
|
||||
|
||||
local final class Nested : R|kotlin/Any| {
|
||||
public constructor(): R|<anonymous>.Nested| {
|
||||
public constructor(): R|<local>/<anonymous>.Nested| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -239,7 +239,7 @@ digraph localClassesWithImplicit_kt {
|
||||
115 [label="Access variable R|<local>/a|"];
|
||||
116 [label="Smart cast: R|<local>/a|"];
|
||||
117 [label="Access variable R|kotlin/String.length|"];
|
||||
118 [label="Function call: this@R|/A|.R|<local>/baz|()" style="filled" fillcolor=yellow];
|
||||
118 [label="Function call: this@R|<local>/A|.R|<local>/baz|()" style="filled" fillcolor=yellow];
|
||||
119 [label="Exit block"];
|
||||
}
|
||||
120 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
||||
@@ -249,7 +249,7 @@ digraph localClassesWithImplicit_kt {
|
||||
123 [label="Jump: ^bar R|/myRun|<R|kotlin/Int|>(<L> = myRun@fun <anonymous>(): R|kotlin/Int| <inline=Inline, kind=UNKNOWN> {
|
||||
R|<local>/b|.<Unresolved name: length>#
|
||||
R|<local>/a|.R|kotlin/String.length|
|
||||
^ this@R|/A|.R|<local>/baz|()
|
||||
^ this@R|<local>/A|.R|<local>/baz|()
|
||||
}
|
||||
)"];
|
||||
124 [label="Stub" style="filled" fillcolor=gray];
|
||||
@@ -303,7 +303,7 @@ digraph localClassesWithImplicit_kt {
|
||||
149 [label="Access variable R|<local>/b|"];
|
||||
150 [label="Smart cast: R|<local>/b|"];
|
||||
151 [label="Access variable R|kotlin/String.length|"];
|
||||
152 [label="Function call: this@R|/A|.R|<local>/bar|()" style="filled" fillcolor=yellow];
|
||||
152 [label="Function call: this@R|<local>/A|.R|<local>/bar|()" style="filled" fillcolor=yellow];
|
||||
153 [label="Exit block"];
|
||||
}
|
||||
154 [label="Exit when branch result"];
|
||||
@@ -320,7 +320,7 @@ digraph localClassesWithImplicit_kt {
|
||||
^ when () {
|
||||
(R|<local>/b| is R|kotlin/String|) -> {
|
||||
R|<local>/b|.R|kotlin/String.length|
|
||||
this@R|/A|.R|<local>/bar|()
|
||||
this@R|<local>/A|.R|<local>/bar|()
|
||||
}
|
||||
else -> {
|
||||
Int(1)
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ FILE: localClassesWithImplicit.kt
|
||||
}
|
||||
|
||||
local final class A : R|kotlin/Any| {
|
||||
public constructor(): R|A| {
|
||||
public constructor(): R|<local>/A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ FILE: localClassesWithImplicit.kt
|
||||
^ when () {
|
||||
(R|<local>/b| is R|kotlin/String|) -> {
|
||||
R|<local>/b|.R|kotlin/String.length|
|
||||
this@R|/A|.R|<local>/bar|()
|
||||
this@R|<local>/A|.R|<local>/bar|()
|
||||
}
|
||||
else -> {
|
||||
Int(1)
|
||||
@@ -35,7 +35,7 @@ FILE: localClassesWithImplicit.kt
|
||||
^bar R|/myRun|<R|kotlin/Int|>(<L> = myRun@fun <anonymous>(): R|kotlin/Int| <inline=Inline, kind=UNKNOWN> {
|
||||
R|<local>/b|.<Unresolved name: length>#
|
||||
R|<local>/a|.R|kotlin/String.length|
|
||||
^ this@R|/A|.R|<local>/baz|()
|
||||
^ this@R|<local>/A|.R|<local>/baz|()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ FILE: propertiesAndInitBlocks.kt
|
||||
}
|
||||
|
||||
local final class InitializerLocalClass : R|kotlin/Any| {
|
||||
public constructor(): R|InitializerLocalClass| {
|
||||
public constructor(): R|<local>/InitializerLocalClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ FILE: propertiesAndInitBlocks.kt
|
||||
)
|
||||
public get(): R|kotlin/Unit| {
|
||||
local final class GetterLocalClass : R|kotlin/Any| {
|
||||
public constructor(): R|GetterLocalClass| {
|
||||
public constructor(): R|<local>/GetterLocalClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -1,19 +1,19 @@
|
||||
FILE: localAnnotationClass.kt
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
local final annotation class Ann : R|kotlin/Annotation| {
|
||||
public constructor(): R|Ann| {
|
||||
public constructor(): R|<local>/Ann| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@R|Ann|() local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Local| {
|
||||
@R|<local>/Ann|() local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
local final annotation class Nested : R|kotlin/Annotation| {
|
||||
public constructor(): R|Local.Nested| {
|
||||
public constructor(): R|<local>/Local.Nested| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -27,12 +27,12 @@ FILE: localEntitytNotAllowed.kt
|
||||
}
|
||||
|
||||
local final object D : R|kotlin/Any| {
|
||||
private constructor(): R|A.<anonymous>.D| {
|
||||
private constructor(): R|<local>/<anonymous>.D| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
local final object G : R|kotlin/Any| {
|
||||
private constructor(): R|A.<anonymous>.D.G| {
|
||||
private constructor(): R|<local>/<anonymous>.D.G| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -52,12 +52,12 @@ FILE: localEntitytNotAllowed.kt
|
||||
|
||||
public final fun b(): R|kotlin/Unit| {
|
||||
local final object E : R|kotlin/Any| {
|
||||
private constructor(): R|A.E| {
|
||||
private constructor(): R|<local>/E| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
local final object F : R|kotlin/Any| {
|
||||
private constructor(): R|A.E.F| {
|
||||
private constructor(): R|<local>/E.F| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ FILE: sealedSupertype.kt
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local final class L : R|P| {
|
||||
public constructor(): R|L| {
|
||||
public constructor(): R|<local>/L| {
|
||||
super<R|P|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ FILE: sealedSupertype.ll.kt
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local final class L : R|P| {
|
||||
public constructor(): R|L| {
|
||||
public constructor(): R|<local>/L| {
|
||||
super<R|P|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ FILE: typeParametersInObject.kt
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local final object M<H> : R|kotlin/Any| {
|
||||
private constructor<H>(): R|M<H>| {
|
||||
private constructor<H>(): R|<local>/M<H>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -6,7 +6,7 @@ FILE: localClassAccessesContainingClass.kt
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Outer.Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
FILE: localConstructor.kt
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
lval l: R|Local| = R|<local>/Local.Local|()
|
||||
lval l: R|<local>/Local| = R|<local>/Local.Local|()
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ FILE: localInnerClass.kt
|
||||
}
|
||||
|
||||
local final inner class Derived : R|Foo| {
|
||||
public <anonymous>.constructor(x: R|kotlin/Int|): R|<anonymous>.Derived| {
|
||||
public <anonymous>.constructor(x: R|kotlin/Int|): R|<local>/<anonymous>.Derived| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ FILE: localObjects.kt
|
||||
|
||||
R|<local>/b|.R|/Foo.foo|()
|
||||
local final object B : R|kotlin/Any| {
|
||||
private constructor(): R|B| {
|
||||
private constructor(): R|<local>/B| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ FILE: localObjects.kt
|
||||
|
||||
}
|
||||
|
||||
Q|B|.R|<local>/foo|()
|
||||
Q|<local>/B|.R|<local>/foo|()
|
||||
}
|
||||
public final val bb: <ERROR TYPE REF: Unresolved name: foo> = <Unresolved name: B>#.<Unresolved name: foo>#()
|
||||
public get(): <ERROR TYPE REF: Unresolved name: foo>
|
||||
|
||||
+6
-6
@@ -10,7 +10,7 @@ FILE: localScopes.kt
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local open class BaseLocal : R|Bar| {
|
||||
public constructor(): R|BaseLocal| {
|
||||
public constructor(): R|<local>/BaseLocal| {
|
||||
super<R|Bar|>()
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ FILE: localScopes.kt
|
||||
|
||||
}
|
||||
|
||||
lval base: R|BaseLocal| = R|<local>/BaseLocal.BaseLocal|()
|
||||
lval base: R|<local>/BaseLocal| = R|<local>/BaseLocal.BaseLocal|()
|
||||
R|<local>/base|.R|<local>/baz|()
|
||||
R|<local>/base|.R|/Bar.foo|()
|
||||
lval anonymous: R|<anonymous>| = object : R|Bar| {
|
||||
@@ -34,9 +34,9 @@ FILE: localScopes.kt
|
||||
|
||||
R|<local>/anonymous|.R|/<anonymous>.baz|()
|
||||
R|<local>/anonymous|.R|/Bar.foo|()
|
||||
local final class DerivedLocal : R|BaseLocal| {
|
||||
public constructor(): R|DerivedLocal| {
|
||||
super<R|BaseLocal|>()
|
||||
local final class DerivedLocal : R|<local>/BaseLocal| {
|
||||
public constructor(): R|<local>/DerivedLocal| {
|
||||
super<R|<local>/BaseLocal|>()
|
||||
}
|
||||
|
||||
public final fun gau(): R|kotlin/Unit| {
|
||||
@@ -44,7 +44,7 @@ FILE: localScopes.kt
|
||||
|
||||
}
|
||||
|
||||
lval derived: R|DerivedLocal| = R|<local>/DerivedLocal.DerivedLocal|()
|
||||
lval derived: R|<local>/DerivedLocal| = R|<local>/DerivedLocal.DerivedLocal|()
|
||||
R|<local>/derived|.R|<local>/gau|()
|
||||
R|<local>/derived|.R|<local>/baz|()
|
||||
R|<local>/derived|.R|/Bar.foo|()
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ FILE: localTypes.kt
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
lval x: R|kotlin/Int| = Int(1)
|
||||
local final class Bar : R|Foo| {
|
||||
public constructor(): R|Bar| {
|
||||
public constructor(): R|<local>/Bar| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -64,24 +64,24 @@ FILE: first.kt
|
||||
}
|
||||
public final fun withLocals(): R|kotlin/Unit| {
|
||||
local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final fun bar(): R|kotlin/Unit|
|
||||
|
||||
public final fun baz(): R|kotlin/Unit| {
|
||||
this@R|/Local|.R|<local>/bar|()
|
||||
this@R|/Local|.R|<local>/Local.Inner.Inner|()
|
||||
this@R|<local>/Local|.R|<local>/bar|()
|
||||
this@R|<local>/Local|.R|<local>/Local.Inner.Inner|()
|
||||
}
|
||||
|
||||
local final inner class Inner : R|kotlin/Any| {
|
||||
public Local.constructor(): R|Local.Inner| {
|
||||
public <local>/Local.constructor(): R|<local>/Local.Inner| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
this@R|/Local|.R|<local>/bar|()
|
||||
this@R|<local>/Local|.R|<local>/bar|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ FILE: RedundantVisibilityModifierChecker.kt
|
||||
public final fun f(): R|kotlin/Unit| {
|
||||
lvar baz: R|kotlin/Int| = Int(0)
|
||||
local final class LocalClass : R|kotlin/Any| {
|
||||
public constructor(): R|LocalClass| {
|
||||
public constructor(): R|<local>/LocalClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: RedundantVisibilityModifierCheckerWithExplicitApiMode.kt
|
||||
public final fun f1(): R|kotlin/Unit| {
|
||||
local final class LocalClass : R|kotlin/Any| {
|
||||
public constructor(): R|LocalClass| {
|
||||
public constructor(): R|<local>/LocalClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ FILE: localVariable.kt
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
local final class Local : R|kotlin/Any| {
|
||||
public constructor(): R|Outer.Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -2,15 +2,15 @@ FILE: localVariableInSecondaryConstructor.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
lval localVariable: R|kotlin/Int| = Int(0)
|
||||
local final class LocalClass : R|kotlin/Any| {
|
||||
public constructor(arg: R|kotlin/Int|): R|LocalClass| {
|
||||
public constructor(arg: R|kotlin/Int|): R|<local>/LocalClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final val arg: R|kotlin/Int| = R|<local>/arg|
|
||||
public get(): R|kotlin/Int|
|
||||
|
||||
public constructor(): R|LocalClass| {
|
||||
this<R|LocalClass|>(R|<local>/localVariable|)
|
||||
public constructor(): R|<local>/LocalClass| {
|
||||
this<R|<local>/LocalClass|>(R|<local>/localVariable|)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+3
-3
@@ -4,7 +4,7 @@ FILE: callableReferenceToLocalClass.kt
|
||||
}
|
||||
public final fun test_1(): R|kotlin/Unit| {
|
||||
local final class Data : R|kotlin/Any| {
|
||||
public constructor(x: R|kotlin/Int|): R|Data| {
|
||||
public constructor(x: R|kotlin/Int|): R|<local>/Data| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -13,6 +13,6 @@ FILE: callableReferenceToLocalClass.kt
|
||||
|
||||
}
|
||||
|
||||
lval datas: R|kotlin/collections/List<Data>| = Null(null)!!
|
||||
lval xs: R|kotlin/collections/List<kotlin/Int>| = R|<local>/datas|.R|/myMap|<R|Data|, R|kotlin/Int|>(Q|Data|::R|<local>/x|)
|
||||
lval datas: R|kotlin/collections/List<<local>/Data>| = Null(null)!!
|
||||
lval xs: R|kotlin/collections/List<kotlin/Int>| = R|<local>/datas|.R|/myMap|<R|<local>/Data|, R|kotlin/Int|>(Q|<local>/Data|::R|<local>/x|)
|
||||
}
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ FILE: inlineClassDeclaration.kt
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
local final inline class C : R|kotlin/Any| {
|
||||
public constructor(x: R|kotlin/Int|): R|A.C| {
|
||||
public constructor(x: R|kotlin/Int|): R|<local>/C| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
+15
-15
@@ -3,71 +3,71 @@ FILE: implicitInLocalClasses.kt
|
||||
}
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
local final class A : R|kotlin/Any| {
|
||||
public constructor(): R|A| {
|
||||
public constructor(): R|<local>/A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
|
||||
^foo this@R|/A|.R|<local>/bar|(R|<local>/x|)
|
||||
^foo this@R|<local>/A|.R|<local>/bar|(R|<local>/x|)
|
||||
}
|
||||
|
||||
public final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
|
||||
^bar CMP(>, this@R|/A|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
||||
^bar CMP(>, this@R|<local>/A|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
||||
}
|
||||
|
||||
public final val w: R|kotlin/Boolean|
|
||||
public get(): R|kotlin/Boolean| {
|
||||
^ this@R|/A|.R|<local>/z|
|
||||
^ this@R|<local>/A|.R|<local>/z|
|
||||
}
|
||||
|
||||
public final val z: R|kotlin/Boolean|
|
||||
public get(): R|kotlin/Boolean| {
|
||||
^ ==(this@R|/A|.R|kotlin/Any.hashCode|(), Int(0))
|
||||
^ ==(this@R|<local>/A|.R|kotlin/Any.hashCode|(), Int(0))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
lval a: R|A| = R|<local>/A.A|()
|
||||
lval a: R|<local>/A| = R|<local>/A.A|()
|
||||
R|/useBoolean|(R|<local>/a|.R|<local>/foo|(Int(1)))
|
||||
R|/useBoolean|(R|<local>/a|.R|<local>/bar|(Int(1)))
|
||||
R|/useBoolean|(R|<local>/a|.R|<local>/w|)
|
||||
R|/useBoolean|(R|<local>/a|.R|<local>/z|)
|
||||
local final class B : R|kotlin/Any| {
|
||||
public constructor(): R|B| {
|
||||
public constructor(): R|<local>/B| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
|
||||
^foo this@R|/B|.R|<local>/inner|.R|<local>/w|
|
||||
^foo this@R|<local>/B|.R|<local>/inner|.R|<local>/w|
|
||||
}
|
||||
|
||||
public final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
|
||||
^bar CMP(>, this@R|/B|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
||||
^bar CMP(>, this@R|<local>/B|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
||||
}
|
||||
|
||||
public final val inner: R|B.Inner| = this@R|/B|.R|<local>/B.Inner.Inner|()
|
||||
public get(): R|B.Inner|
|
||||
public final val inner: R|<local>/B.Inner| = this@R|<local>/B|.R|<local>/B.Inner.Inner|()
|
||||
public get(): R|<local>/B.Inner|
|
||||
|
||||
local final inner class Inner : R|kotlin/Any| {
|
||||
public B.constructor(): R|B.Inner| {
|
||||
public <local>/B.constructor(): R|<local>/B.Inner| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final val w: R|kotlin/Boolean|
|
||||
public get(): R|kotlin/Boolean| {
|
||||
^ this@R|/B.Inner|.R|<local>/z|
|
||||
^ this@R|<local>/B.Inner|.R|<local>/z|
|
||||
}
|
||||
|
||||
public final val z: R|kotlin/Boolean|
|
||||
public get(): R|kotlin/Boolean| {
|
||||
^ this@R|/B|.R|<local>/bar|(Int(1))
|
||||
^ this@R|<local>/B|.R|<local>/bar|(Int(1))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
lval b: R|B| = R|<local>/B.B|()
|
||||
lval b: R|<local>/B| = R|<local>/B.B|()
|
||||
R|/useBoolean|(R|<local>/b|.R|<local>/foo|(Int(1)))
|
||||
R|/useBoolean|(R|<local>/b|.R|<local>/bar|(Int(1)))
|
||||
R|/useBoolean|(R|<local>/b|.R|<local>/inner|.R|<local>/w|)
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: a.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
local final class Local : R|B| {
|
||||
public constructor(): R|Local| {
|
||||
public constructor(): R|<local>/Local| {
|
||||
super<R|B|>()
|
||||
}
|
||||
|
||||
|
||||
@@ -4,34 +4,34 @@ FILE: objectInnerClass.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
local final inner class Child : R|<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<anonymous>.Child| {
|
||||
this@R|/<anonymous>|.super<R|<anonymous>.Base|>(R|<local>/property|)
|
||||
local final inner class Child : R|<local>/<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<local>/<anonymous>.Child| {
|
||||
this@R|/<anonymous>|.super<R|<local>/<anonymous>.Base|>(R|<local>/property|)
|
||||
}
|
||||
|
||||
public final fun R|<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|<local>/zoo|.R|<local>/property|
|
||||
}
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
this@R|/<anonymous>.Child|.R|<local>/baseFun|()
|
||||
lval x: R|B| = this@R|/<anonymous>.Child|.R|<local>/property|
|
||||
(this@R|/<anonymous>.Child|, this@R|/<anonymous>.Child|).R|<local>/zoo|()
|
||||
(this@R|/<anonymous>|, this@R|/<anonymous>.Child|).R|/<anonymous>.hoo|()
|
||||
this@R|<local>/<anonymous>.Child|.R|<local>/baseFun|()
|
||||
lval x: R|B| = this@R|<local>/<anonymous>.Child|.R|<local>/property|
|
||||
(this@R|<local>/<anonymous>.Child|, this@R|<local>/<anonymous>.Child|).R|<local>/zoo|()
|
||||
(this@R|/<anonymous>|, this@R|<local>/<anonymous>.Child|).R|/<anonymous>.hoo|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public final fun R|<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
|
||||
}
|
||||
|
||||
public final fun R|<anonymous>.Base|.hoo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Base|.hoo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|/<anonymous>.hoo|.R|<local>/property|
|
||||
}
|
||||
|
||||
local open inner class Base : R|kotlin/Any| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<local>/<anonymous>.Base| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -44,14 +44,14 @@ FILE: objectInnerClass.kt
|
||||
}
|
||||
|
||||
public final fun caseForBase(): R|kotlin/Unit| {
|
||||
lval base: R|<anonymous>.Base| = this@R|/<anonymous>|.R|<local>/<anonymous>.Base.Base|(R|/B.B|())
|
||||
lval base: R|<local>/<anonymous>.Base| = this@R|/<anonymous>|.R|<local>/<anonymous>.Base.Base|(R|/B.B|())
|
||||
R|<local>/base|.R|<local>/baseFun|()
|
||||
R|<local>/base|.R|<local>/property|
|
||||
(this@R|/<anonymous>|, R|<local>/base|).R|/<anonymous>.hoo|()
|
||||
}
|
||||
|
||||
public final fun caseForChild(): R|kotlin/Unit| {
|
||||
lval child: R|<anonymous>.Child| = this@R|/<anonymous>|.R|<local>/<anonymous>.Child.Child|(R|/B.B|())
|
||||
lval child: R|<local>/<anonymous>.Child| = this@R|/<anonymous>|.R|<local>/<anonymous>.Child.Child|(R|/B.B|())
|
||||
R|<local>/child|.R|<local>/baseFun|()
|
||||
R|<local>/child|.R|<local>/property|
|
||||
R|<local>/child|.R|<local>/foo|()
|
||||
@@ -129,34 +129,34 @@ FILE: objectInnerClass.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
local final inner class Child : R|Case3.<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|Case3.<anonymous>.Child| {
|
||||
this@R|/<anonymous>|.super<R|Case3.<anonymous>.Base|>(R|<local>/property|)
|
||||
local final inner class Child : R|<local>/<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<local>/<anonymous>.Child| {
|
||||
this@R|/<anonymous>|.super<R|<local>/<anonymous>.Base|>(R|<local>/property|)
|
||||
}
|
||||
|
||||
public final fun R|Case3.<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Base|.zoo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|<local>/zoo|.R|<local>/property|
|
||||
}
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
this@R|/Case3.<anonymous>.Child|.R|<local>/baseFun|()
|
||||
lval x: R|B| = this@R|/Case3.<anonymous>.Child|.R|<local>/property|
|
||||
(this@R|/Case3.<anonymous>.Child|, this@R|/Case3.<anonymous>.Child|).R|<local>/zoo|()
|
||||
(this@R|/<anonymous>|, this@R|/Case3.<anonymous>.Child|).R|/<anonymous>.hoo|()
|
||||
this@R|<local>/<anonymous>.Child|.R|<local>/baseFun|()
|
||||
lval x: R|B| = this@R|<local>/<anonymous>.Child|.R|<local>/property|
|
||||
(this@R|<local>/<anonymous>.Child|, this@R|<local>/<anonymous>.Child|).R|<local>/zoo|()
|
||||
(this@R|/<anonymous>|, this@R|<local>/<anonymous>.Child|).R|/<anonymous>.hoo|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public final fun R|Case3.<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
|
||||
}
|
||||
|
||||
public final fun R|Case3.<anonymous>.Base|.hoo(): R|kotlin/Unit| {
|
||||
public final fun R|<local>/<anonymous>.Base|.hoo(): R|kotlin/Unit| {
|
||||
lval x: R|B| = this@R|/<anonymous>.hoo|.R|<local>/property|
|
||||
}
|
||||
|
||||
local open inner class Base : R|kotlin/Any| {
|
||||
public <anonymous>.constructor(property: R|B|): R|Case3.<anonymous>.Base| {
|
||||
public <anonymous>.constructor(property: R|B|): R|<local>/<anonymous>.Base| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
@@ -169,14 +169,14 @@ FILE: objectInnerClass.kt
|
||||
}
|
||||
|
||||
public final fun caseForBase(): R|kotlin/Unit| {
|
||||
lval base: R|Case3.<anonymous>.Base| = this@R|/<anonymous>|.R|<local>/Case3.<anonymous>.Base.Base|(R|/B.B|())
|
||||
lval base: R|<local>/<anonymous>.Base| = this@R|/<anonymous>|.R|<local>/<anonymous>.Base.Base|(R|/B.B|())
|
||||
R|<local>/base|.R|<local>/baseFun|()
|
||||
R|<local>/base|.R|<local>/property|
|
||||
(this@R|/<anonymous>|, R|<local>/base|).R|/<anonymous>.hoo|()
|
||||
}
|
||||
|
||||
public final fun caseForChild(): R|kotlin/Unit| {
|
||||
lval child: R|Case3.<anonymous>.Child| = this@R|/<anonymous>|.R|<local>/Case3.<anonymous>.Child.Child|(R|/B.B|())
|
||||
lval child: R|<local>/<anonymous>.Child| = this@R|/<anonymous>|.R|<local>/<anonymous>.Child.Child|(R|/B.B|())
|
||||
R|<local>/child|.R|<local>/baseFun|()
|
||||
R|<local>/child|.R|<local>/property|
|
||||
R|<local>/child|.R|<local>/foo|()
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ FILE: test.kt
|
||||
private get(): R|kotlin/String|
|
||||
|
||||
local final inner class S : R|kotlin/Any| {
|
||||
public <anonymous>.constructor(): R|<anonymous>.S| {
|
||||
public <anonymous>.constructor(): R|<local>/<anonymous>.S| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ FILE: throwableSubclass.kt
|
||||
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
local final class Test7<Outer(T), Outer(B)> : R|kotlin/Throwable| {
|
||||
public constructor(): R|Test5.Test7<T, B>| {
|
||||
public constructor(): R|<local>/Test7<T, B>| {
|
||||
super<R|kotlin/Throwable|>()
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ FILE: throwableSubclass.kt
|
||||
}
|
||||
public final fun <Z> topLevelFun(): R|kotlin/Unit| {
|
||||
local final class Test8<Outer(Z)> : R|kotlin/Error| {
|
||||
public constructor(): R|Test8<Z>| {
|
||||
public constructor(): R|<local>/Test8<Z>| {
|
||||
super<R|kotlin/Error|>()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user