[FIR] Refactor effective visibility calculation
Before this commit, we had effective visibility as a part of FIR status, so it was integrated into the full pipeline. In this commit, we introduced "effective visibility as a service" which is now used only by exposed visibility checker. This allows us to make the thing universal for all FIR nodes, including nodes for Java / deserialized.
This commit is contained in:
-3
@@ -42,7 +42,6 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PRIVATE,
|
||||
FirEffectiveVisibilityImpl.Private,
|
||||
Modality.FINAL
|
||||
).apply {
|
||||
isInner = true
|
||||
@@ -68,7 +67,6 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
FirEffectiveVisibilityImpl.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
symbol = FirConstructorSymbol(CallableId(classId, classId.shortClassName))
|
||||
@@ -81,7 +79,6 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
FirEffectiveVisibilityImpl.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
|
||||
-1
@@ -39,7 +39,6 @@ class AllOpenRecursiveNestedClassGenerator(session: FirSession) : FirDeclaration
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
FirEffectiveVisibilityImpl.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
classKind = ClassKind.CLASS
|
||||
|
||||
-2
@@ -38,7 +38,6 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
FirEffectiveVisibilityImpl.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
classKind = ClassKind.OBJECT
|
||||
@@ -58,7 +57,6 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
FirEffectiveVisibilityImpl.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
|
||||
Reference in New Issue
Block a user