[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
@@ -2,7 +2,7 @@ FILE: RedundantVisibilityModifierChecker.kt
public final fun f(): R|kotlin/Unit| {
lvar baz: R|kotlin/Int| = Int(0)
local final class LocalClass : R|kotlin/Any| {
public constructor(): R|LocalClass| {
public constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
@@ -1,7 +1,7 @@
FILE: RedundantVisibilityModifierCheckerWithExplicitApiMode.kt
public final fun f1(): R|kotlin/Unit| {
local final class LocalClass : R|kotlin/Any| {
public constructor(): R|LocalClass| {
public constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
@@ -6,7 +6,7 @@ FILE: localVariable.kt
public final fun foo(): R|kotlin/Unit| {
local final class Local : R|kotlin/Any| {
public constructor(): R|Outer.Local| {
public constructor(): R|<local>/Local| {
super<R|kotlin/Any|>()
}
@@ -2,15 +2,15 @@ FILE: localVariableInSecondaryConstructor.kt
public final fun main(): R|kotlin/Unit| {
lval localVariable: R|kotlin/Int| = Int(0)
local final class LocalClass : R|kotlin/Any| {
public constructor(arg: R|kotlin/Int|): R|LocalClass| {
public constructor(arg: R|kotlin/Int|): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final val arg: R|kotlin/Int| = R|<local>/arg|
public get(): R|kotlin/Int|
public constructor(): R|LocalClass| {
this<R|LocalClass|>(R|<local>/localVariable|)
public constructor(): R|<local>/LocalClass| {
this<R|<local>/LocalClass|>(R|<local>/localVariable|)
}
}