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
52 lines
1.4 KiB
Plaintext
Vendored
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|()
|
|
}
|