f9c6af4d2a
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
200 lines
7.6 KiB
Plaintext
Vendored
200 lines
7.6 KiB
Plaintext
Vendored
FILE: objectInnerClass.kt
|
|
public final val case1: R|A| = object : R|A| {
|
|
private constructor(): R|<anonymous>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
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|<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|<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|<local>/<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
|
lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
|
|
}
|
|
|
|
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|<local>/<anonymous>.Base| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val property: R|B| = R|<local>/property|
|
|
public get(): R|B|
|
|
|
|
public final fun baseFun(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
public final fun caseForBase(): R|kotlin/Unit| {
|
|
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|<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|()
|
|
(this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.hoo|()
|
|
(this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.voo|()
|
|
}
|
|
|
|
}
|
|
|
|
public get(): R|A|
|
|
public final class Case2 : R|kotlin/Any| {
|
|
public constructor(): R|Case2| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val x: R|Case2.Base| = object : R|Case2.Base| {
|
|
private constructor(): R|<anonymous>| {
|
|
this@R|/Case2|.super<R|Case2.Base|>(R|/B.B|())
|
|
}
|
|
|
|
public final fun R|Case2.Base|.zoo(): R|kotlin/Unit| {
|
|
lval x: R|B| = this@R|/<anonymous>.zoo|.R|/Case2.Base.property|
|
|
}
|
|
|
|
public final fun foo(): R|kotlin/Unit| {
|
|
this@R|/<anonymous>|.R|/Case2.Base.baseFun|()
|
|
lval x: R|B| = this@R|/<anonymous>|.R|/Case2.Base.property|
|
|
(this@R|/<anonymous>|, this@R|/<anonymous>|).R|/<anonymous>.zoo|()
|
|
(this@R|/Case2|, this@R|/<anonymous>|).R|/Case2.hoo|()
|
|
}
|
|
|
|
}
|
|
|
|
public get(): R|Case2.Base|
|
|
|
|
public final fun R|Case2.Base|.hoo(): R|kotlin/Unit| {
|
|
lval x: R|B| = this@R|/Case2.hoo|.R|/Case2.Base.property|
|
|
}
|
|
|
|
public open inner class Base : R|kotlin/Any| {
|
|
public Case2.constructor(property: R|B|): R|Case2.Base| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val property: R|B| = R|<local>/property|
|
|
public get(): R|B|
|
|
|
|
public final fun baseFun(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
public final fun caseForBase(): R|kotlin/Unit| {
|
|
lval base: R|Case2.Base| = this@R|/Case2|.R|/Case2.Base.Base|(R|/B.B|())
|
|
R|<local>/base|.R|/Case2.Base.baseFun|()
|
|
R|<local>/base|.R|/Case2.Base.property|
|
|
(this@R|/Case2|, R|<local>/base|).R|/Case2.hoo|()
|
|
}
|
|
|
|
public final fun caseForChild(): R|kotlin/Unit| {
|
|
lval child: R|Case2.Base| = this@R|/Case2|.R|/Case2.x|
|
|
R|<local>/child|.R|/Case2.Base.baseFun|()
|
|
R|<local>/child|.R|/Case2.Base.property|
|
|
(this@R|/Case2|, R|<local>/child|).R|/Case2.hoo|()
|
|
}
|
|
|
|
}
|
|
public final class Case3 : R|kotlin/Any| {
|
|
public constructor(): R|Case3| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val x: R|A| = object : R|A| {
|
|
private constructor(): R|<anonymous>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
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|<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|<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|<local>/<anonymous>.Child|.voo(): R|kotlin/Unit| {
|
|
lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
|
|
}
|
|
|
|
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|<local>/<anonymous>.Base| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val property: R|B| = R|<local>/property|
|
|
public get(): R|B|
|
|
|
|
public final fun baseFun(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
public final fun caseForBase(): R|kotlin/Unit| {
|
|
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|<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|()
|
|
(this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.hoo|()
|
|
(this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.voo|()
|
|
}
|
|
|
|
}
|
|
|
|
public get(): R|A|
|
|
|
|
}
|
|
public abstract interface A : R|kotlin/Any| {
|
|
}
|
|
public final class B : R|kotlin/Any| {
|
|
public constructor(): R|B| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|