Files
Nikolay Lunyak f9c6af4d2a [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
2023-08-18 13:31:04 +00:00

52 lines
1.4 KiB
Plaintext
Vendored

FILE: localScopes.kt
public open class Bar : R|kotlin/Any| {
public constructor(): R|Bar| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
}
}
public final fun test(): R|kotlin/Unit| {
local open class BaseLocal : R|Bar| {
public constructor(): R|<local>/BaseLocal| {
super<R|Bar|>()
}
public final fun baz(): R|kotlin/Unit| {
}
}
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| {
private constructor(): R|<anonymous>| {
super<R|Bar|>()
}
public final fun baz(): R|kotlin/Unit| {
}
}
R|<local>/anonymous|.R|/<anonymous>.baz|()
R|<local>/anonymous|.R|/Bar.foo|()
local final class DerivedLocal : R|<local>/BaseLocal| {
public constructor(): R|<local>/DerivedLocal| {
super<R|<local>/BaseLocal|>()
}
public final fun gau(): R|kotlin/Unit| {
}
}
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|()
}