[FIR] Add effective visibility to resolved status
This commit includes: - introduce FirResolvedDeclarationStatus.effectiveVisibility - replace FirEffectiveVisibility with EffectiveVisibility - move calculation of effective visibility from FirEffectiveVisibilityResolver (which is deleted) to FirStatusResolver and FirDeserializer
This commit is contained in:
committed by
TeamCityServer
parent
a600d18396
commit
3ef87d0265
+9
-5
@@ -6,9 +6,10 @@
|
||||
package org.jetbrains.kotlin.fir.plugin.generators
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass
|
||||
@@ -20,13 +21,13 @@ import org.jetbrains.kotlin.fir.extensions.predicate.has
|
||||
import org.jetbrains.kotlin.fir.plugin.AllOpenPluginKey
|
||||
import org.jetbrains.kotlin.fir.plugin.fqn
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGenerationExtension(session) {
|
||||
@@ -41,7 +42,8 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Private,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Private
|
||||
).apply {
|
||||
isInner = true
|
||||
}
|
||||
@@ -66,7 +68,8 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
symbol = FirConstructorSymbol(CallableId(classId, classId.shortClassName))
|
||||
}
|
||||
@@ -78,7 +81,8 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
symbol = FirNamedFunctionSymbol(CallableId(classId, name))
|
||||
|
||||
+4
-2
@@ -6,9 +6,10 @@
|
||||
package org.jetbrains.kotlin.fir.plugin.generators
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
@@ -39,7 +40,8 @@ class AllOpenRecursiveNestedClassGenerator(session: FirSession) : FirDeclaration
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
classKind = ClassKind.CLASS
|
||||
name = Name.identifier("Nested")
|
||||
|
||||
+7
-4
@@ -6,9 +6,10 @@
|
||||
package org.jetbrains.kotlin.fir.plugin.generators
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction
|
||||
@@ -18,9 +19,9 @@ import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate
|
||||
import org.jetbrains.kotlin.fir.extensions.predicate.has
|
||||
import org.jetbrains.kotlin.fir.plugin.fqn
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -37,7 +38,8 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
classKind = ClassKind.OBJECT
|
||||
name = Name.identifier("TopLevel${klass.name}")
|
||||
@@ -56,7 +58,8 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
symbol = FirNamedFunctionSymbol(CallableId(klass.symbol.classId, name))
|
||||
|
||||
Reference in New Issue
Block a user