[FIR] Fix local typealias visibility resolution

#KT-60026
This commit is contained in:
Evgeniy.Zhelenskiy
2023-10-16 17:59:08 +02:00
committed by Space Team
parent 3f89f03b54
commit 5b4731a780
4 changed files with 9 additions and 7 deletions
@@ -102,7 +102,7 @@ KtTypeAliasSymbol:
origin: SOURCE
symbolKind: LOCAL
typeParameters: []
visibility: Public
visibility: Local
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -124,7 +124,7 @@ KtTypeAliasSymbol:
origin: SOURCE
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
visibility: Local
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -146,7 +146,7 @@ KtTypeAliasSymbol:
origin: SOURCE
symbolKind: LOCAL
typeParameters: []
visibility: Public
visibility: Local
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -168,7 +168,7 @@ KtTypeAliasSymbol:
origin: SOURCE
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
visibility: Local
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -1164,7 +1164,8 @@ class LightTreeRawFirDeclarationBuilder(
moduleData = baseModuleData
origin = FirDeclarationOrigin.Source
name = typeAliasName
status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply {
val isLocal = context.inLocalContext
status = FirDeclarationStatusImpl(if (isLocal) Visibilities.Local else modifiers.getVisibility(), Modality.FINAL).apply {
isExpect = typeAliasIsExpect
isActual = modifiers.hasActual()
}
@@ -1601,7 +1601,8 @@ open class PsiRawFirBuilder(
moduleData = baseModuleData
origin = FirDeclarationOrigin.Source
name = typeAlias.nameAsSafeName
status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply {
val isLocal = context.inLocalContext
status = FirDeclarationStatusImpl(if (isLocal) Visibilities.Local else typeAlias.visibility, Modality.FINAL).apply {
isExpect = typeAliasIsExpect
isActual = typeAlias.hasActualModifier()
}
@@ -29,7 +29,7 @@ fun testWrong4(x: List<Any>) = x is <!NO_TYPE_ARGUMENTS_ON_RHS!>ReadableList<!>
fun <T> testLocal(x: Any) {
class C
typealias <!EXPOSED_TYPEALIAS_EXPANDED_TYPE!>CA<!> = C
typealias CA = C
if (x is <!NO_TYPE_ARGUMENTS_ON_RHS!>C<!>) {}
if (x is <!UNRESOLVED_REFERENCE!>CA<!>) {}
}