[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:
Nikolay Lunyak
2023-08-09 15:18:03 +03:00
committed by Space Team
parent cf655fd5ad
commit f9c6af4d2a
107 changed files with 733 additions and 891 deletions
@@ -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|>()
}