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
45 lines
1.2 KiB
Plaintext
Vendored
45 lines
1.2 KiB
Plaintext
Vendored
FILE: localObjects.kt
|
|
public final object A : R|kotlin/Any| {
|
|
private constructor(): R|A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val x: R|kotlin/Int| = Int(0)
|
|
public get(): R|kotlin/Int|
|
|
|
|
}
|
|
public open class Foo : R|kotlin/Any| {
|
|
public constructor(): R|Foo| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final fun foo(): R|kotlin/Int| {
|
|
^foo Int(1)
|
|
}
|
|
|
|
}
|
|
public final fun test(): R|kotlin/Unit| {
|
|
Q|A|.R|/A.x|
|
|
lval b: R|<anonymous>| = object : R|Foo| {
|
|
private constructor(): R|<anonymous>| {
|
|
super<R|Foo|>()
|
|
}
|
|
|
|
}
|
|
|
|
R|<local>/b|.R|/Foo.foo|()
|
|
local final object B : R|kotlin/Any| {
|
|
private constructor(): R|<local>/B| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final fun foo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
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>
|