[FIR] Rename new visibilities to CamelCase
It's more convenient since they are objects now instead of const fields in FE 1.0
This commit is contained in:
@@ -227,10 +227,10 @@ fun KtModifierList?.getVisibility() = this?.visibilityModifierType()?.toFirVisib
|
||||
|
||||
fun KtModifierKeywordToken.toFirVisibility(): Visibility {
|
||||
return when (this) {
|
||||
KtTokens.PUBLIC_KEYWORD -> Visibilities.PUBLIC
|
||||
KtTokens.PRIVATE_KEYWORD -> Visibilities.PRIVATE
|
||||
KtTokens.PROTECTED_KEYWORD -> Visibilities.PROTECTED
|
||||
KtTokens.INTERNAL_KEYWORD -> Visibilities.INTERNAL
|
||||
KtTokens.PUBLIC_KEYWORD -> Visibilities.Public
|
||||
KtTokens.PRIVATE_KEYWORD -> Visibilities.Private
|
||||
KtTokens.PROTECTED_KEYWORD -> Visibilities.Protected
|
||||
KtTokens.INTERNAL_KEYWORD -> Visibilities.Internal
|
||||
else -> throw IllegalArgumentException("Unknown visibility modifier:$this")
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -29,11 +29,11 @@ object FirConstructorAllowedChecker : FirConstructorChecker() {
|
||||
ClassKind.OBJECT -> reporter.report(source, FirErrors.CONSTRUCTOR_IN_OBJECT)
|
||||
ClassKind.INTERFACE -> reporter.report(source, FirErrors.CONSTRUCTOR_IN_INTERFACE)
|
||||
ClassKind.ENUM_ENTRY -> reporter.report(source, FirErrors.CONSTRUCTOR_IN_OBJECT)
|
||||
ClassKind.ENUM_CLASS -> if (declaration.visibility != Visibilities.PRIVATE) {
|
||||
ClassKind.ENUM_CLASS -> if (declaration.visibility != Visibilities.Private) {
|
||||
reporter.report(source, FirErrors.NON_PRIVATE_CONSTRUCTOR_IN_ENUM)
|
||||
}
|
||||
ClassKind.CLASS -> if (containingClass is FirRegularClass && containingClass.modality == Modality.SEALED &&
|
||||
declaration.visibility != Visibilities.PRIVATE
|
||||
declaration.visibility != Visibilities.Private
|
||||
) {
|
||||
reporter.report(source, FirErrors.NON_PRIVATE_CONSTRUCTOR_IN_SEALED)
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.name.Name
|
||||
|
||||
object FirLocalEntityNotAllowedChecker : FirBasicDeclarationChecker() {
|
||||
override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
if (declaration !is FirRegularClass || declaration.visibility != Visibilities.LOCAL) {
|
||||
if (declaration !is FirRegularClass || declaration.visibility != Visibilities.Local) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -40,17 +40,17 @@ object RedundantVisibilityModifierChecker : FirBasicDeclarationChecker() {
|
||||
modifierList.hasModifier(KtTokens.INTERNAL_KEYWORD) &&
|
||||
containingMemberDeclaration.let {
|
||||
it != null && (it.isLocalMember || modifierList.hasModifier(KtTokens.PRIVATE_KEYWORD))
|
||||
} -> Visibilities.INTERNAL
|
||||
} -> Visibilities.Internal
|
||||
|
||||
else -> null
|
||||
} ?: return
|
||||
|
||||
if (
|
||||
redundantVisibility == Visibilities.PUBLIC
|
||||
redundantVisibility == Visibilities.Public
|
||||
&& declaration is FirProperty
|
||||
&& modifierList.hasModifier(KtTokens.OVERRIDE_KEYWORD)
|
||||
&& declaration.isVar
|
||||
&& declaration.setter?.visibility == Visibilities.PUBLIC
|
||||
&& declaration.setter?.visibility == Visibilities.Public
|
||||
) return
|
||||
|
||||
val source = modifierList.visibilityModifier()?.toFirPsiSourceElement()
|
||||
@@ -71,7 +71,7 @@ object RedundantVisibilityModifierChecker : FirBasicDeclarationChecker() {
|
||||
clazz is FirClass
|
||||
&& (clazz.classKind == ClassKind.ENUM_CLASS || clazz.modality() == Modality.SEALED)
|
||||
) {
|
||||
return Visibilities.PRIVATE
|
||||
return Visibilities.Private
|
||||
} else {
|
||||
Visibilities.DEFAULT_VISIBILITY
|
||||
}
|
||||
@@ -86,9 +86,9 @@ object RedundantVisibilityModifierChecker : FirBasicDeclarationChecker() {
|
||||
}
|
||||
|
||||
private fun findFunctionVisibility(function: FirSimpleFunction, context: CheckerContext): Visibility {
|
||||
val currentClass = context.findClosestClassOrObject() ?: return Visibilities.UNKNOWN
|
||||
val currentClass = context.findClosestClassOrObject() ?: return Visibilities.Unknown
|
||||
val overriddenFunctions = function.overriddenFunctions(currentClass, context)
|
||||
var visibility: Visibility = Visibilities.PRIVATE
|
||||
var visibility: Visibility = Visibilities.Private
|
||||
for (func in overriddenFunctions) {
|
||||
val currentVisibility = func.fir.visibility()
|
||||
if (currentVisibility != null) {
|
||||
|
||||
@@ -6,27 +6,27 @@
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
object Visibilities {
|
||||
object PRIVATE : Visibility("private", isPublicAPI = false)
|
||||
object Private : Visibility("private", isPublicAPI = false)
|
||||
|
||||
object PRIVATE_TO_THIS : Visibility("private_to_this", isPublicAPI = false) {
|
||||
object PrivateToThis : Visibility("private_to_this", isPublicAPI = false) {
|
||||
override val internalDisplayName: String
|
||||
get() = "private/*private to this*/"
|
||||
}
|
||||
|
||||
object PROTECTED : Visibility("protected", isPublicAPI = true)
|
||||
object INTERNAL : Visibility("internal", isPublicAPI = false)
|
||||
object PUBLIC : Visibility("public", isPublicAPI = true)
|
||||
object LOCAL : Visibility("local", isPublicAPI = false)
|
||||
object INVISIBLE_FAKE : Visibility("invisible_fake", isPublicAPI = false)
|
||||
object UNKNOWN : Visibility("unknown", isPublicAPI = false)
|
||||
object Protected : Visibility("protected", isPublicAPI = true)
|
||||
object Internal : Visibility("internal", isPublicAPI = false)
|
||||
object Public : Visibility("public", isPublicAPI = true)
|
||||
object Local : Visibility("local", isPublicAPI = false)
|
||||
object InvisibleFake : Visibility("invisible_fake", isPublicAPI = false)
|
||||
object Unknown : Visibility("unknown", isPublicAPI = false)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
private val ORDERED_VISIBILITIES: Map<Visibility, Int> = buildMap {
|
||||
put(PRIVATE_TO_THIS, 0)
|
||||
put(PRIVATE, 0);
|
||||
put(INTERNAL, 1);
|
||||
put(PROTECTED, 1);
|
||||
put(PUBLIC, 2);
|
||||
put(PrivateToThis, 0)
|
||||
put(Private, 0);
|
||||
put(Internal, 1);
|
||||
put(Protected, 1);
|
||||
put(Public, 2);
|
||||
}
|
||||
|
||||
fun compare(first: Visibility, second: Visibility): Int? {
|
||||
@@ -50,8 +50,8 @@ object Visibilities {
|
||||
}
|
||||
|
||||
fun isPrivate(visibility: Visibility): Boolean {
|
||||
return visibility === PRIVATE || visibility === PRIVATE_TO_THIS
|
||||
return visibility === Private || visibility === PrivateToThis
|
||||
}
|
||||
|
||||
val DEFAULT_VISIBILITY = PUBLIC
|
||||
val DEFAULT_VISIBILITY = Public
|
||||
}
|
||||
|
||||
@@ -521,7 +521,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
}
|
||||
|
||||
private fun FlowContent.visibility(visibility: Visibility) {
|
||||
if (visibility == Visibilities.UNKNOWN)
|
||||
if (visibility == Visibilities.Unknown)
|
||||
return unresolved { keyword("public?") }
|
||||
return keyword(visibility.toString())
|
||||
}
|
||||
|
||||
+2
-2
@@ -90,7 +90,7 @@ class FirElementSerializer private constructor(
|
||||
val modality = regularClass?.modality ?: Modality.FINAL
|
||||
val flags = Flags.getClassFlags(
|
||||
klass.nonSourceAnnotations(session).isNotEmpty(),
|
||||
FirProtoEnumFlags.visibility(regularClass?.let { normalizeVisibility(it) } ?: Visibilities.LOCAL),
|
||||
FirProtoEnumFlags.visibility(regularClass?.let { normalizeVisibility(it) } ?: Visibilities.Local),
|
||||
ProtoEnumFlags.modality(modality),
|
||||
ProtoEnumFlags.classKind(klass.classKind, regularClass?.isCompanion == true),
|
||||
regularClass?.isInner == true,
|
||||
@@ -301,7 +301,7 @@ class FirElementSerializer private constructor(
|
||||
|
||||
val flags = Flags.getFunctionFlags(
|
||||
function.nonSourceAnnotations(session).isNotEmpty(),
|
||||
FirProtoEnumFlags.visibility(simpleFunction?.let { normalizeVisibility(it) } ?: Visibilities.LOCAL),
|
||||
FirProtoEnumFlags.visibility(simpleFunction?.let { normalizeVisibility(it) } ?: Visibilities.Local),
|
||||
ProtoEnumFlags.modality(simpleFunction?.modality ?: Modality.FINAL),
|
||||
ProtoBuf.MemberKind.DECLARATION,
|
||||
simpleFunction?.isOperator == true,
|
||||
|
||||
+4
-4
@@ -60,19 +60,19 @@ class FirJvmSerializerExtension @JvmOverloads constructor(
|
||||
override fun shouldUseTypeTable(): Boolean = useTypeTable
|
||||
override fun shouldSerializeFunction(function: FirFunction<*>): Boolean {
|
||||
return classBuilderMode != ClassBuilderMode.ABI ||
|
||||
function !is FirSimpleFunction || function.visibility != Visibilities.PRIVATE
|
||||
function !is FirSimpleFunction || function.visibility != Visibilities.Private
|
||||
}
|
||||
|
||||
override fun shouldSerializeProperty(property: FirProperty): Boolean {
|
||||
return classBuilderMode != ClassBuilderMode.ABI || property.visibility != Visibilities.PRIVATE
|
||||
return classBuilderMode != ClassBuilderMode.ABI || property.visibility != Visibilities.Private
|
||||
}
|
||||
|
||||
override fun shouldSerializeTypeAlias(typeAlias: FirTypeAlias): Boolean {
|
||||
return classBuilderMode != ClassBuilderMode.ABI || typeAlias.visibility != Visibilities.PRIVATE
|
||||
return classBuilderMode != ClassBuilderMode.ABI || typeAlias.visibility != Visibilities.Private
|
||||
}
|
||||
|
||||
override fun shouldSerializeNestedClass(nestedClass: FirRegularClass): Boolean {
|
||||
return classBuilderMode != ClassBuilderMode.ABI || nestedClass.visibility != Visibilities.PRIVATE
|
||||
return classBuilderMode != ClassBuilderMode.ABI || nestedClass.visibility != Visibilities.Private
|
||||
}
|
||||
|
||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||
|
||||
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.ir.types.*
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrErrorTypeImpl
|
||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||
import org.jetbrains.kotlin.ir.util.functions
|
||||
import org.jetbrains.kotlin.ir.util.isFakeOverride
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
||||
import org.jetbrains.kotlin.psi.psiUtil.startOffsetSkippingComments
|
||||
@@ -301,7 +300,7 @@ internal fun FirSimpleFunction.generateOverriddenFunctionSymbols(
|
||||
scope.processFunctionsByName(name) {}
|
||||
val overriddenSet = mutableSetOf<IrSimpleFunctionSymbol>()
|
||||
scope.processDirectlyOverriddenFunctions(symbol) {
|
||||
if ((it.fir as FirSimpleFunction).visibility == Visibilities.PRIVATE) {
|
||||
if ((it.fir as FirSimpleFunction).visibility == Visibilities.Private) {
|
||||
return@processDirectlyOverriddenFunctions ProcessorAction.NEXT
|
||||
}
|
||||
val overridden = declarationStorage.getIrFunctionSymbol(it.unwrapSubstitutionOverrides())
|
||||
@@ -322,7 +321,7 @@ internal fun FirProperty.generateOverriddenAccessorSymbols(
|
||||
scope.processPropertiesByName(name) {}
|
||||
val overriddenSet = mutableSetOf<IrSimpleFunctionSymbol>()
|
||||
scope.processDirectlyOverriddenProperties(symbol) {
|
||||
if (it.fir.visibility == Visibilities.PRIVATE) {
|
||||
if (it.fir.visibility == Visibilities.Private) {
|
||||
return@processDirectlyOverriddenProperties ProcessorAction.NEXT
|
||||
}
|
||||
val overriddenProperty = declarationStorage.getIrPropertyOrFieldSymbol(it.unwrapSubstitutionOverrides()) as IrPropertySymbol
|
||||
@@ -494,13 +493,13 @@ fun Fir2IrComponents.createTemporaryVariableForSafeCallConstruction(
|
||||
}
|
||||
|
||||
fun Visibility.toOldVisibility(): OldVisibility = when (this.normalize()) {
|
||||
Visibilities.PRIVATE -> OldVisibilities.PRIVATE
|
||||
Visibilities.PRIVATE_TO_THIS -> OldVisibilities.PRIVATE_TO_THIS
|
||||
Visibilities.PROTECTED -> OldVisibilities.PROTECTED
|
||||
Visibilities.INTERNAL -> OldVisibilities.INTERNAL
|
||||
Visibilities.PUBLIC -> OldVisibilities.PUBLIC
|
||||
Visibilities.LOCAL -> OldVisibilities.LOCAL
|
||||
Visibilities.INVISIBLE_FAKE -> OldVisibilities.INVISIBLE_FAKE
|
||||
Visibilities.UNKNOWN -> OldVisibilities.UNKNOWN
|
||||
Visibilities.Private -> OldVisibilities.PRIVATE
|
||||
Visibilities.PrivateToThis -> OldVisibilities.PRIVATE_TO_THIS
|
||||
Visibilities.Protected -> OldVisibilities.PROTECTED
|
||||
Visibilities.Internal -> OldVisibilities.INTERNAL
|
||||
Visibilities.Public -> OldVisibilities.PUBLIC
|
||||
Visibilities.Local -> OldVisibilities.LOCAL
|
||||
Visibilities.InvisibleFake -> OldVisibilities.INVISIBLE_FAKE
|
||||
Visibilities.Unknown -> OldVisibilities.UNKNOWN
|
||||
else -> error("Unknown visiblity: $this")
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ class Fir2IrClassifierStorage(
|
||||
}
|
||||
|
||||
internal fun getCachedIrClass(klass: FirClass<*>): IrClass? {
|
||||
return if (klass is FirAnonymousObject || klass is FirRegularClass && klass.visibility == Visibilities.LOCAL) {
|
||||
return if (klass is FirAnonymousObject || klass is FirRegularClass && klass.visibility == Visibilities.Local) {
|
||||
localStorage.getLocalClass(klass)
|
||||
} else {
|
||||
classCache[klass]
|
||||
@@ -254,7 +254,7 @@ class Fir2IrClassifierStorage(
|
||||
if (parent != null) {
|
||||
irClass.parent = parent
|
||||
}
|
||||
if (regularClass.visibility == Visibilities.LOCAL) {
|
||||
if (regularClass.visibility == Visibilities.Local) {
|
||||
localStorage.putLocalClass(regularClass, irClass)
|
||||
} else {
|
||||
classCache[regularClass] = irClass
|
||||
@@ -264,7 +264,7 @@ class Fir2IrClassifierStorage(
|
||||
|
||||
fun createIrAnonymousObject(
|
||||
anonymousObject: FirAnonymousObject,
|
||||
visibility: Visibility = Visibilities.LOCAL,
|
||||
visibility: Visibility = Visibilities.Local,
|
||||
name: Name = Name.special("<no name provided>"),
|
||||
irParent: IrDeclarationParent? = null
|
||||
): IrClass {
|
||||
@@ -293,7 +293,7 @@ class Fir2IrClassifierStorage(
|
||||
|
||||
private fun getIrAnonymousObjectForEnumEntry(anonymousObject: FirAnonymousObject, name: Name, irParent: IrClass?): IrClass {
|
||||
localStorage.getLocalClass(anonymousObject)?.let { return it }
|
||||
return createIrAnonymousObject(anonymousObject, Visibilities.PRIVATE, name, irParent)
|
||||
return createIrAnonymousObject(anonymousObject, Visibilities.Private, name, irParent)
|
||||
}
|
||||
|
||||
private fun createIrTypeParameterWithoutBounds(
|
||||
@@ -426,7 +426,7 @@ class Fir2IrClassifierStorage(
|
||||
fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>): IrClassSymbol {
|
||||
val firClass = firClassSymbol.fir
|
||||
getCachedIrClass(firClass)?.let { return it.symbol }
|
||||
if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.LOCAL) {
|
||||
if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.Local) {
|
||||
return createIrClass(firClass).symbol
|
||||
}
|
||||
val signature = signatureComposer.composeSignature(firClass)!!
|
||||
|
||||
+4
-4
@@ -358,7 +358,7 @@ class Fir2IrDeclarationStorage(
|
||||
}
|
||||
|
||||
fun getCachedIrFunction(function: FirFunction<*>): IrSimpleFunction? {
|
||||
return if (function !is FirSimpleFunction || function.visibility == Visibilities.LOCAL) {
|
||||
return if (function !is FirSimpleFunction || function.visibility == Visibilities.Local) {
|
||||
localStorage.getLocalFunction(function)
|
||||
} else {
|
||||
functionCache[function]
|
||||
@@ -397,7 +397,7 @@ class Fir2IrDeclarationStorage(
|
||||
classifierStorage.preCacheTypeParameters(function)
|
||||
val name = simpleFunction?.name
|
||||
?: if (isLambda) Name.special("<anonymous>") else Name.special("<no name provided>")
|
||||
val visibility = simpleFunction?.visibility ?: Visibilities.LOCAL
|
||||
val visibility = simpleFunction?.visibility ?: Visibilities.Local
|
||||
val isSuspend =
|
||||
if (isLambda) ((function as FirAnonymousFunction).typeRef as? FirResolvedTypeRef)?.isSuspend == true
|
||||
else simpleFunction?.isSuspend == true
|
||||
@@ -432,7 +432,7 @@ class Fir2IrDeclarationStorage(
|
||||
result
|
||||
}
|
||||
|
||||
if (visibility == Visibilities.LOCAL) {
|
||||
if (visibility == Visibilities.Local) {
|
||||
localStorage.putLocalFunction(function, created)
|
||||
return created
|
||||
}
|
||||
@@ -618,7 +618,7 @@ class Fir2IrDeclarationStorage(
|
||||
isLateInit -> setter?.visibility ?: status.visibility
|
||||
isConst -> status.visibility
|
||||
hasJvmFieldAnnotation -> status.visibility
|
||||
else -> Visibilities.PRIVATE
|
||||
else -> Visibilities.Private
|
||||
}
|
||||
|
||||
private fun declareIrProperty(
|
||||
|
||||
@@ -33,7 +33,7 @@ class Fir2IrScopeCache {
|
||||
fun getLocalFunction(localFunction: FirFunction<*>): IrSimpleFunction? = localFunctionCache[localFunction]
|
||||
|
||||
fun putLocalFunction(localFunction: FirFunction<*>, irFunction: IrSimpleFunction) {
|
||||
require(localFunction !is FirSimpleFunction || localFunction.visibility == Visibilities.LOCAL)
|
||||
require(localFunction !is FirSimpleFunction || localFunction.visibility == Visibilities.Local)
|
||||
localFunctionCache[localFunction] = irFunction
|
||||
}
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ class Fir2IrVisitor(
|
||||
}
|
||||
|
||||
override fun visitRegularClass(regularClass: FirRegularClass, data: Any?): IrElement {
|
||||
if (regularClass.visibility == Visibilities.LOCAL) {
|
||||
if (regularClass.visibility == Visibilities.Local) {
|
||||
val irParent = conversionScope.parentFromStack()
|
||||
// NB: for implicit types it is possible that local class is already cached
|
||||
val irClass = classifierStorage.getCachedIrClass(regularClass)?.apply { this.parent = irParent }
|
||||
@@ -222,7 +222,7 @@ class Fir2IrVisitor(
|
||||
}
|
||||
|
||||
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Any?): IrElement {
|
||||
val irFunction = if (simpleFunction.visibility == Visibilities.LOCAL) {
|
||||
val irFunction = if (simpleFunction.visibility == Visibilities.Local) {
|
||||
declarationStorage.createIrFunction(
|
||||
simpleFunction, irParent = conversionScope.parent(), isLocal = true
|
||||
)
|
||||
@@ -667,7 +667,7 @@ class Fir2IrVisitor(
|
||||
symbol = FirPropertySymbol(name)
|
||||
isVar = false
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
val irLhsVariable = firLhsVariable.accept(this, null) as IrVariable
|
||||
return elvisExpression.convertWithOffsets { startOffset, endOffset ->
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ internal class ClassMemberGenerator(
|
||||
}
|
||||
declaration is FirConstructor && declaration.isPrimary -> {
|
||||
}
|
||||
declaration is FirRegularClass && declaration.visibility == Visibilities.LOCAL -> {
|
||||
declaration is FirRegularClass && declaration.visibility == Visibilities.Local -> {
|
||||
val irNestedClass = classifierStorage.getCachedIrClass(declaration)!!
|
||||
irNestedClass.parent = irClass
|
||||
conversionScope.withParent(irNestedClass) {
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
|
||||
origin = FirDeclarationOrigin.Synthetic
|
||||
this.name = name
|
||||
this.symbol = FirNamedFunctionSymbol(CallableId(classId, name))
|
||||
this.status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL)
|
||||
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
||||
this.session = components.session
|
||||
this.returnTypeRef = when (returnType) {
|
||||
components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null)
|
||||
|
||||
+1
-1
@@ -222,7 +222,7 @@ internal class DelegatedMemberGenerator(
|
||||
val visibility = when (firSuperFunction) {
|
||||
is FirSimpleFunction -> firSuperFunction.status.visibility
|
||||
is FirPropertyAccessor -> firSuperFunction.status.visibility
|
||||
else -> Visibilities.PUBLIC
|
||||
else -> Visibilities.Public
|
||||
}
|
||||
metadata = FirMetadataSource.Function(
|
||||
buildSimpleFunction {
|
||||
|
||||
+2
-2
@@ -77,14 +77,14 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu
|
||||
)
|
||||
}
|
||||
is FirTypeAlias -> {
|
||||
if (declaration.visibility == Visibilities.PRIVATE) return null
|
||||
if (declaration.visibility == Visibilities.Private) return null
|
||||
val classId = declaration.symbol.classId
|
||||
IdSignature.PublicSignature(
|
||||
classId.packageFqName.asString(), classId.relativeClassName.asString(), builder.hashId, builder.mask
|
||||
)
|
||||
}
|
||||
is FirCallableMemberDeclaration<*> -> {
|
||||
if (declaration.visibility == Visibilities.PRIVATE) return null
|
||||
if (declaration.visibility == Visibilities.Private) return null
|
||||
val callableId = declaration.symbol.callableId
|
||||
IdSignature.PublicSignature(
|
||||
callableId.packageName.asString(), callableId.relativeCallableName.asString(), builder.hashId, builder.mask
|
||||
|
||||
@@ -108,9 +108,9 @@ class FirJavaElementFinder(
|
||||
|
||||
private fun FirRegularClass.packFlags(): Int {
|
||||
var flags = when (visibility) {
|
||||
Visibilities.PRIVATE -> ModifierFlags.PRIVATE_MASK
|
||||
Visibilities.PROTECTED -> ModifierFlags.PROTECTED_MASK
|
||||
Visibilities.PUBLIC -> ModifierFlags.PUBLIC_MASK
|
||||
Visibilities.Private -> ModifierFlags.PRIVATE_MASK
|
||||
Visibilities.Protected -> ModifierFlags.PROTECTED_MASK
|
||||
Visibilities.Public -> ModifierFlags.PUBLIC_MASK
|
||||
else -> ModifierFlags.PACKAGE_LOCAL_MASK
|
||||
}
|
||||
|
||||
|
||||
@@ -361,13 +361,13 @@ class JavaSymbolProvider(
|
||||
declarations += buildJavaConstructor {
|
||||
session = this@JavaSymbolProvider.session
|
||||
symbol = FirConstructorSymbol(constructorId)
|
||||
status = FirResolvedDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL)
|
||||
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
||||
returnTypeRef = buildResolvedTypeRef {
|
||||
type = buildSelfTypeRef()
|
||||
}
|
||||
valueParameters.addIfNotNull(valueParameterForValueInAnnotationConstructor)
|
||||
valueParameters += valueParametersForAnnotationConstructor
|
||||
visibility = Visibilities.PUBLIC
|
||||
visibility = Visibilities.Public
|
||||
isInner = false
|
||||
isPrimary = true
|
||||
}
|
||||
|
||||
@@ -527,16 +527,16 @@ private fun JavaType.toFirResolvedTypeRef(
|
||||
}
|
||||
|
||||
fun OldVisibility.toFirVisibility(): Visibility = when (this) {
|
||||
OldVisibilities.PRIVATE -> Visibilities.PRIVATE
|
||||
OldVisibilities.PRIVATE_TO_THIS -> Visibilities.PRIVATE_TO_THIS
|
||||
OldVisibilities.PROTECTED -> Visibilities.PROTECTED
|
||||
OldVisibilities.INTERNAL -> Visibilities.INTERNAL
|
||||
OldVisibilities.PUBLIC -> Visibilities.PUBLIC
|
||||
OldVisibilities.LOCAL -> Visibilities.LOCAL
|
||||
OldVisibilities.INVISIBLE_FAKE -> Visibilities.INVISIBLE_FAKE
|
||||
OldVisibilities.UNKNOWN -> Visibilities.UNKNOWN
|
||||
OldJavaVisibilities.PACKAGE_VISIBILITY -> JavaVisibilities.PACKAGE_VISIBILITY
|
||||
OldJavaVisibilities.PROTECTED_AND_PACKAGE -> JavaVisibilities.PROTECTED_AND_PACKAGE
|
||||
OldJavaVisibilities.PROTECTED_STATIC_VISIBILITY -> JavaVisibilities.PROTECTED_STATIC_VISIBILITY
|
||||
OldVisibilities.PRIVATE -> Visibilities.Private
|
||||
OldVisibilities.PRIVATE_TO_THIS -> Visibilities.PrivateToThis
|
||||
OldVisibilities.PROTECTED -> Visibilities.Protected
|
||||
OldVisibilities.INTERNAL -> Visibilities.Internal
|
||||
OldVisibilities.PUBLIC -> Visibilities.Public
|
||||
OldVisibilities.LOCAL -> Visibilities.Local
|
||||
OldVisibilities.INVISIBLE_FAKE -> Visibilities.InvisibleFake
|
||||
OldVisibilities.UNKNOWN -> Visibilities.Unknown
|
||||
OldJavaVisibilities.PACKAGE_VISIBILITY -> JavaVisibilities.PackageVisibility
|
||||
OldJavaVisibilities.PROTECTED_AND_PACKAGE -> JavaVisibilities.ProtectedAndPackage
|
||||
OldJavaVisibilities.PROTECTED_STATIC_VISIBILITY -> JavaVisibilities.ProtectedStaticVisibility
|
||||
else -> error("Unknown visiblity: $this")
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
object JavaVisibilities {
|
||||
object PACKAGE_VISIBILITY : Visibility("package", isPublicAPI = false) {
|
||||
object PackageVisibility : Visibility("package", isPublicAPI = false) {
|
||||
override fun compareTo(visibility: Visibility): Int? {
|
||||
if (this === visibility) return 0
|
||||
if (Visibilities.isPrivate(visibility)) return 1
|
||||
@@ -14,31 +14,31 @@ object JavaVisibilities {
|
||||
}
|
||||
|
||||
override fun normalize(): Visibility {
|
||||
return Visibilities.PROTECTED
|
||||
return Visibilities.Protected
|
||||
}
|
||||
|
||||
override val internalDisplayName: String
|
||||
get() = "public/*package*/"
|
||||
}
|
||||
|
||||
object PROTECTED_STATIC_VISIBILITY : Visibility("protected_static", isPublicAPI = true) {
|
||||
object ProtectedStaticVisibility : Visibility("protected_static", isPublicAPI = true) {
|
||||
override fun normalize(): Visibility {
|
||||
return Visibilities.PROTECTED
|
||||
return Visibilities.Protected
|
||||
}
|
||||
|
||||
override val internalDisplayName: String
|
||||
get() = "protected/*protected static*/"
|
||||
}
|
||||
|
||||
object PROTECTED_AND_PACKAGE : Visibility("protected_and_package", isPublicAPI = true) {
|
||||
object ProtectedAndPackage : Visibility("protected_and_package", isPublicAPI = true) {
|
||||
override fun compareTo(visibility: Visibility): Int? {
|
||||
if (this == visibility) return 0
|
||||
if (visibility === Visibilities.INTERNAL) return null
|
||||
if (visibility === Visibilities.Internal) return null
|
||||
return if (Visibilities.isPrivate(visibility)) 1 else -1
|
||||
}
|
||||
|
||||
override fun normalize(): Visibility {
|
||||
return Visibilities.PROTECTED
|
||||
return Visibilities.Protected
|
||||
}
|
||||
|
||||
override val internalDisplayName: String
|
||||
|
||||
+2
-2
@@ -746,7 +746,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
returnTypeRef = firProperty.returnTypeRef
|
||||
receiverTypeRef = null
|
||||
this.name = name
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
||||
symbol = FirNamedFunctionSymbol(CallableId(packageFqName, classFqName, name))
|
||||
|
||||
// Refer to FIR backend ClassMemberGenerator for body generation.
|
||||
@@ -766,7 +766,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
origin = FirDeclarationOrigin.Source
|
||||
returnTypeRef = classTypeRef
|
||||
name = copyName
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
||||
symbol = FirNamedFunctionSymbol(CallableId(packageFqName, classFqName, copyName))
|
||||
for ((ktParameter, firProperty) in zippedParameters) {
|
||||
val propertyName = firProperty.name
|
||||
|
||||
+3
-3
@@ -262,7 +262,7 @@ fun generateTemporaryVariable(
|
||||
symbol = FirPropertySymbol(name)
|
||||
isVar = false
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
|
||||
fun generateTemporaryVariable(
|
||||
@@ -363,7 +363,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
|
||||
origin = FirDeclarationOrigin.Source
|
||||
returnTypeRef = buildImplicitTypeRef()
|
||||
isGetter = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.UNKNOWN, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL)
|
||||
symbol = FirPropertyAccessorSymbol()
|
||||
|
||||
body = FirSingleExpressionBlock(
|
||||
@@ -390,7 +390,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
|
||||
origin = FirDeclarationOrigin.Source
|
||||
returnTypeRef = session.builtinTypes.unitType
|
||||
isGetter = false
|
||||
status = FirDeclarationStatusImpl(Visibilities.UNKNOWN, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL)
|
||||
val parameter = buildValueParameter {
|
||||
this.session = session
|
||||
origin = FirDeclarationOrigin.Source
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ fun generateDestructuringBlock(
|
||||
this.isVar = isVar
|
||||
symbol = FirPropertySymbol(entry.name) // TODO?
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
annotations += entry.annotations
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -383,7 +383,7 @@ class DeclarationsConverter(
|
||||
return withChildClassName(className, isLocal) {
|
||||
withCapturedTypeParameters {
|
||||
val status = FirDeclarationStatusImpl(
|
||||
if (isLocal) Visibilities.LOCAL else modifiers.getVisibility(),
|
||||
if (isLocal) Visibilities.Local else modifiers.getVisibility(),
|
||||
modifiers.getModality()
|
||||
).apply {
|
||||
isExpect = modifiers.hasExpect()
|
||||
@@ -604,7 +604,7 @@ class DeclarationsConverter(
|
||||
returnTypeRef = classWrapper.delegatedSelfTypeRef
|
||||
name = enumEntryName
|
||||
symbol = FirVariableSymbol(CallableId(context.currentClassId, enumEntryName))
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isStatic = true
|
||||
isExpect = classWrapper.hasExpect()
|
||||
}
|
||||
@@ -717,7 +717,7 @@ class DeclarationsConverter(
|
||||
isExpect = modifiers.hasExpect() || classWrapper.hasExpect()
|
||||
isActual = modifiers.hasActual()
|
||||
isInner = classWrapper.isInner()
|
||||
isFromSealedClass = classWrapper.isSealed() && explicitVisibility !== Visibilities.PRIVATE
|
||||
isFromSealedClass = classWrapper.isSealed() && explicitVisibility !== Visibilities.Private
|
||||
isFromEnumClass = classWrapper.isEnum()
|
||||
}
|
||||
|
||||
@@ -784,7 +784,7 @@ class DeclarationsConverter(
|
||||
isExpect = modifiers.hasExpect() || classWrapper.hasExpect()
|
||||
isActual = modifiers.hasActual()
|
||||
isInner = classWrapper.isInner()
|
||||
isFromSealedClass = classWrapper.isSealed() && explicitVisibility !== Visibilities.PRIVATE
|
||||
isFromSealedClass = classWrapper.isSealed() && explicitVisibility !== Visibilities.Private
|
||||
isFromEnumClass = classWrapper.isEnum()
|
||||
}
|
||||
|
||||
@@ -942,7 +942,7 @@ class DeclarationsConverter(
|
||||
expression = expressionConverter.getAsFirExpression(it, "Incorrect delegate expression")
|
||||
}
|
||||
}
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL).apply {
|
||||
isLateInit = modifiers.hasLateinit()
|
||||
}
|
||||
|
||||
@@ -1058,7 +1058,7 @@ class DeclarationsConverter(
|
||||
isVar = false
|
||||
symbol = FirPropertySymbol(name)
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
annotations += modifiers.annotations
|
||||
}
|
||||
}
|
||||
@@ -1096,7 +1096,7 @@ class DeclarationsConverter(
|
||||
}
|
||||
|
||||
var accessorVisibility = modifiers.getVisibility()
|
||||
if (accessorVisibility == Visibilities.UNKNOWN) {
|
||||
if (accessorVisibility == Visibilities.Unknown) {
|
||||
accessorVisibility = propertyVisibility
|
||||
}
|
||||
val status =
|
||||
@@ -1237,7 +1237,7 @@ class DeclarationsConverter(
|
||||
receiverTypeRef = receiverType
|
||||
name = functionName
|
||||
status = FirDeclarationStatusImpl(
|
||||
if (isLocal) Visibilities.LOCAL else modifiers.getVisibility(),
|
||||
if (isLocal) Visibilities.Local else modifiers.getVisibility(),
|
||||
modifiers.getModality()
|
||||
).apply {
|
||||
isExpect = modifiers.hasExpect() || classWrapper?.hasExpect() == true
|
||||
@@ -1442,7 +1442,7 @@ class DeclarationsConverter(
|
||||
returnTypeRef = firTypeRef
|
||||
symbol = FirFieldSymbol(CallableId(name))
|
||||
isVar = false
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
)
|
||||
initializeDelegateStatements.add(
|
||||
|
||||
+1
-1
@@ -615,7 +615,7 @@ class ExpressionsConverter(
|
||||
isVar = false
|
||||
symbol = FirPropertySymbol(variable.name)
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
}
|
||||
DESTRUCTURING_DECLARATION -> subjectExpression =
|
||||
|
||||
+3
-3
@@ -63,9 +63,9 @@ class ClassWrapper(
|
||||
// See DescriptorUtils#getDefaultConstructorVisibility in core.descriptors
|
||||
fun defaultConstructorVisibility(): Visibility {
|
||||
return when {
|
||||
isObject() || isEnum() || isEnumEntry() -> Visibilities.PRIVATE
|
||||
isSealed() -> Visibilities.PRIVATE
|
||||
else -> Visibilities.UNKNOWN
|
||||
isObject() || isEnum() || isEnumEntry() -> Visibilities.Private
|
||||
isSealed() -> Visibilities.Private
|
||||
else -> Visibilities.Unknown
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -92,11 +92,11 @@ class Modifier(
|
||||
|
||||
fun getVisibility(): Visibility {
|
||||
return when {
|
||||
visibilityModifiers.contains(VisibilityModifier.PRIVATE) -> Visibilities.PRIVATE
|
||||
visibilityModifiers.contains(VisibilityModifier.PUBLIC) -> Visibilities.PUBLIC
|
||||
visibilityModifiers.contains(VisibilityModifier.PROTECTED) -> Visibilities.PROTECTED
|
||||
visibilityModifiers.contains(VisibilityModifier.INTERNAL) -> Visibilities.INTERNAL
|
||||
else -> Visibilities.UNKNOWN
|
||||
visibilityModifiers.contains(VisibilityModifier.PRIVATE) -> Visibilities.Private
|
||||
visibilityModifiers.contains(VisibilityModifier.PUBLIC) -> Visibilities.Public
|
||||
visibilityModifiers.contains(VisibilityModifier.PROTECTED) -> Visibilities.Protected
|
||||
visibilityModifiers.contains(VisibilityModifier.INTERNAL) -> Visibilities.Internal
|
||||
else -> Visibilities.Unknown
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ internal fun generateDestructuringBlock(
|
||||
}
|
||||
this.isVar = isVar
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
symbol = FirPropertySymbol(name)
|
||||
entry.extractAnnotationsTo(this)
|
||||
}
|
||||
|
||||
+17
-17
@@ -115,11 +115,11 @@ class RawFirBuilder(
|
||||
private val KtModifierListOwner.visibility: Visibility
|
||||
get() = with(modifierList) {
|
||||
when {
|
||||
this == null -> Visibilities.UNKNOWN
|
||||
hasModifier(PRIVATE_KEYWORD) -> Visibilities.PRIVATE
|
||||
hasModifier(PUBLIC_KEYWORD) -> Visibilities.PUBLIC
|
||||
hasModifier(PROTECTED_KEYWORD) -> Visibilities.PROTECTED
|
||||
else -> if (hasModifier(INTERNAL_KEYWORD)) Visibilities.INTERNAL else Visibilities.UNKNOWN
|
||||
this == null -> Visibilities.Unknown
|
||||
hasModifier(PRIVATE_KEYWORD) -> Visibilities.Private
|
||||
hasModifier(PUBLIC_KEYWORD) -> Visibilities.Public
|
||||
hasModifier(PROTECTED_KEYWORD) -> Visibilities.Protected
|
||||
else -> if (hasModifier(INTERNAL_KEYWORD)) Visibilities.Internal else Visibilities.Unknown
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ class RawFirBuilder(
|
||||
isGetter: Boolean,
|
||||
): FirPropertyAccessor {
|
||||
val accessorVisibility =
|
||||
if (this?.visibility != null && this.visibility != Visibilities.UNKNOWN) this.visibility else property.visibility
|
||||
if (this?.visibility != null && this.visibility != Visibilities.Unknown) this.visibility else property.visibility
|
||||
// Downward propagation of `inline` and `external` modifiers (from property to its accessors)
|
||||
val status =
|
||||
FirDeclarationStatusImpl(accessorVisibility, Modality.FINAL).apply {
|
||||
@@ -504,7 +504,7 @@ class RawFirBuilder(
|
||||
returnTypeRef = type
|
||||
symbol = FirFieldSymbol(CallableId(name))
|
||||
isVar = false
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
initializeDelegateStatements.add(
|
||||
buildVariableAssignment {
|
||||
@@ -610,9 +610,9 @@ class RawFirBuilder(
|
||||
|
||||
// See DescriptorUtils#getDefaultConstructorVisibility in core.descriptors
|
||||
fun defaultVisibility() = when {
|
||||
owner is KtObjectDeclaration || owner.hasModifier(ENUM_KEYWORD) || owner is KtEnumEntry -> Visibilities.PRIVATE
|
||||
owner.hasModifier(SEALED_KEYWORD) -> Visibilities.PRIVATE
|
||||
else -> Visibilities.UNKNOWN
|
||||
owner is KtObjectDeclaration || owner.hasModifier(ENUM_KEYWORD) || owner is KtEnumEntry -> Visibilities.Private
|
||||
owner.hasModifier(SEALED_KEYWORD) -> Visibilities.Private
|
||||
else -> Visibilities.Unknown
|
||||
}
|
||||
|
||||
val explicitVisibility = this?.visibility
|
||||
@@ -620,7 +620,7 @@ class RawFirBuilder(
|
||||
isExpect = this@toFirConstructor?.hasExpectModifier() == true || owner.hasExpectModifier()
|
||||
isActual = this@toFirConstructor?.hasActualModifier() == true
|
||||
isInner = owner.hasModifier(INNER_KEYWORD)
|
||||
isFromSealedClass = owner.hasModifier(SEALED_KEYWORD) && explicitVisibility !== Visibilities.PRIVATE
|
||||
isFromSealedClass = owner.hasModifier(SEALED_KEYWORD) && explicitVisibility !== Visibilities.Private
|
||||
isFromEnumClass = owner.hasModifier(ENUM_KEYWORD)
|
||||
}
|
||||
return buildPrimaryConstructor {
|
||||
@@ -674,7 +674,7 @@ class RawFirBuilder(
|
||||
origin = FirDeclarationOrigin.Source
|
||||
returnTypeRef = delegatedEnumSelfTypeRef
|
||||
name = nameAsSafeName
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isStatic = true
|
||||
isExpect = containingClassOrObject?.hasExpectModifier() == true
|
||||
}
|
||||
@@ -741,7 +741,7 @@ class RawFirBuilder(
|
||||
else -> throw AssertionError("Unexpected class or object: ${classOrObject.text}")
|
||||
}
|
||||
val status = FirDeclarationStatusImpl(
|
||||
if (classOrObject.isLocal) Visibilities.LOCAL else classOrObject.visibility,
|
||||
if (classOrObject.isLocal) Visibilities.Local else classOrObject.visibility,
|
||||
classOrObject.modality,
|
||||
).apply {
|
||||
isExpect = classOrObject.hasExpectModifier()
|
||||
@@ -921,7 +921,7 @@ class RawFirBuilder(
|
||||
labelName = runIf(!name.isSpecial) { name.identifier }
|
||||
symbol = FirNamedFunctionSymbol(callableIdForName(function.nameAsSafeName, function.isLocal))
|
||||
status = FirDeclarationStatusImpl(
|
||||
if (function.isLocal) Visibilities.LOCAL else function.visibility,
|
||||
if (function.isLocal) Visibilities.Local else function.visibility,
|
||||
function.modality,
|
||||
).apply {
|
||||
isExpect = function.hasExpectModifier() || function.containingClassOrObject?.hasExpectModifier() == true
|
||||
@@ -1080,7 +1080,7 @@ class RawFirBuilder(
|
||||
isExpect = hasExpectModifier() || owner.hasExpectModifier()
|
||||
isActual = hasActualModifier()
|
||||
isInner = owner.hasModifier(INNER_KEYWORD)
|
||||
isFromSealedClass = owner.hasModifier(SEALED_KEYWORD) && explicitVisibility !== Visibilities.PRIVATE
|
||||
isFromSealedClass = owner.hasModifier(SEALED_KEYWORD) && explicitVisibility !== Visibilities.Private
|
||||
isFromEnumClass = owner.hasModifier(ENUM_KEYWORD)
|
||||
}
|
||||
symbol = FirConstructorSymbol(callableIdForClassConstructor())
|
||||
@@ -1154,7 +1154,7 @@ class RawFirBuilder(
|
||||
}
|
||||
}
|
||||
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL).apply {
|
||||
isLateInit = hasModifier(LATEINIT_KEYWORD)
|
||||
}
|
||||
|
||||
@@ -1456,7 +1456,7 @@ class RawFirBuilder(
|
||||
isVar = false
|
||||
symbol = FirPropertySymbol(name)
|
||||
isLocal = true
|
||||
status = FirDeclarationStatusImpl(Visibilities.LOCAL, Modality.FINAL)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL)
|
||||
}
|
||||
}
|
||||
else -> null
|
||||
|
||||
@@ -42,7 +42,7 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
override fun relation(other: FirEffectiveVisibility) =
|
||||
if (this == other || Local == other) Permissiveness.SAME else Permissiveness.LESS
|
||||
|
||||
override fun toVisibility() = Visibilities.PRIVATE
|
||||
override fun toVisibility() = Visibilities.Private
|
||||
}
|
||||
|
||||
// Effectively same as Private
|
||||
@@ -50,14 +50,14 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
override fun relation(other: FirEffectiveVisibility) =
|
||||
if (this == other || Private == other) Permissiveness.SAME else Permissiveness.LESS
|
||||
|
||||
override fun toVisibility() = Visibilities.LOCAL
|
||||
override fun toVisibility() = Visibilities.Local
|
||||
}
|
||||
|
||||
object Public : FirEffectiveVisibilityImpl("public", publicApi = true) {
|
||||
override fun relation(other: FirEffectiveVisibility) =
|
||||
if (this == other) Permissiveness.SAME else Permissiveness.MORE
|
||||
|
||||
override fun toVisibility() = Visibilities.PUBLIC
|
||||
override fun toVisibility() = Visibilities.Public
|
||||
}
|
||||
|
||||
abstract class InternalOrPackage protected constructor(internal: Boolean) : FirEffectiveVisibilityImpl(
|
||||
@@ -79,11 +79,11 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
}
|
||||
|
||||
object Internal : InternalOrPackage(true) {
|
||||
override fun toVisibility() = Visibilities.INTERNAL
|
||||
override fun toVisibility() = Visibilities.Internal
|
||||
}
|
||||
|
||||
object PackagePrivate : InternalOrPackage(false) {
|
||||
override fun toVisibility() = Visibilities.PRIVATE
|
||||
override fun toVisibility() = Visibilities.Private
|
||||
}
|
||||
|
||||
class Protected(
|
||||
@@ -124,7 +124,7 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
is InternalOrPackage -> InternalProtected(containerSymbol, session)
|
||||
}
|
||||
|
||||
override fun toVisibility() = Visibilities.PROTECTED
|
||||
override fun toVisibility() = Visibilities.Protected
|
||||
}
|
||||
|
||||
// Lower bound for all protected visibilities
|
||||
@@ -142,7 +142,7 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
is InternalOrPackage, is InternalProtected -> InternalProtectedBound
|
||||
}
|
||||
|
||||
override fun toVisibility() = Visibilities.PROTECTED
|
||||
override fun toVisibility() = Visibilities.Protected
|
||||
}
|
||||
|
||||
// Lower bound for internal and protected(C)
|
||||
@@ -180,7 +180,7 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
ProtectedBound -> InternalProtectedBound
|
||||
}
|
||||
|
||||
override fun toVisibility() = Visibilities.PRIVATE
|
||||
override fun toVisibility() = Visibilities.Private
|
||||
}
|
||||
|
||||
// Lower bound for internal and protected lower bound
|
||||
@@ -191,7 +191,7 @@ sealed class FirEffectiveVisibilityImpl(
|
||||
InternalProtectedBound -> Permissiveness.SAME
|
||||
}
|
||||
|
||||
override fun toVisibility() = Visibilities.PRIVATE
|
||||
override fun toVisibility() = Visibilities.Private
|
||||
}
|
||||
|
||||
override fun lowerBound(other: FirEffectiveVisibility): FirEffectiveVisibility {
|
||||
|
||||
@@ -81,11 +81,11 @@ private fun Visibility.forVisibility(
|
||||
session: FirSession, containerSymbol: FirClassLikeSymbol<*>?
|
||||
): FirEffectiveVisibility =
|
||||
when (this) {
|
||||
Visibilities.PRIVATE, Visibilities.PRIVATE_TO_THIS, Visibilities.INVISIBLE_FAKE -> Private
|
||||
Visibilities.PROTECTED -> Protected(containerSymbol, session)
|
||||
Visibilities.INTERNAL -> Internal
|
||||
Visibilities.PUBLIC -> Public
|
||||
Visibilities.LOCAL -> Local
|
||||
Visibilities.Private, Visibilities.PrivateToThis, Visibilities.InvisibleFake -> Private
|
||||
Visibilities.Protected -> Protected(containerSymbol, session)
|
||||
Visibilities.Internal -> Internal
|
||||
Visibilities.Public -> Public
|
||||
Visibilities.Local -> Local
|
||||
// NB: visibility must be already normalized here, so e.g. no JavaVisibilities are possible at this point
|
||||
// TODO: else -> throw AssertionError("Visibility $name is not allowed in forVisibility")
|
||||
JavaVisibilities.PACKAGE_VISIBILITY -> PackagePrivate
|
||||
|
||||
+2
-2
@@ -153,7 +153,7 @@ fun deserializeClassToSymbol(
|
||||
name = enumEntryName
|
||||
this.symbol = FirVariableSymbol(CallableId(classId, enumEntryName))
|
||||
this.status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
).apply {
|
||||
isStatic = true
|
||||
@@ -239,7 +239,7 @@ private fun FirRegularClassBuilder.addCloneForArrayIfNeeded(classId: ClassId) {
|
||||
isNullable = false
|
||||
)
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isOverride = true
|
||||
}
|
||||
name = CLONE
|
||||
|
||||
+13
-13
@@ -11,22 +11,22 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
|
||||
object FirProtoEnumFlags {
|
||||
fun visibility(visibility: ProtoBuf.Visibility?): Visibility = when (visibility) {
|
||||
ProtoBuf.Visibility.INTERNAL -> Visibilities.INTERNAL
|
||||
ProtoBuf.Visibility.PRIVATE -> Visibilities.PRIVATE
|
||||
ProtoBuf.Visibility.PRIVATE_TO_THIS -> Visibilities.PRIVATE_TO_THIS
|
||||
ProtoBuf.Visibility.PROTECTED -> Visibilities.PROTECTED
|
||||
ProtoBuf.Visibility.PUBLIC -> Visibilities.PUBLIC
|
||||
ProtoBuf.Visibility.LOCAL -> Visibilities.LOCAL
|
||||
else -> Visibilities.PRIVATE
|
||||
ProtoBuf.Visibility.INTERNAL -> Visibilities.Internal
|
||||
ProtoBuf.Visibility.PRIVATE -> Visibilities.Private
|
||||
ProtoBuf.Visibility.PRIVATE_TO_THIS -> Visibilities.PrivateToThis
|
||||
ProtoBuf.Visibility.PROTECTED -> Visibilities.Protected
|
||||
ProtoBuf.Visibility.PUBLIC -> Visibilities.Public
|
||||
ProtoBuf.Visibility.LOCAL -> Visibilities.Local
|
||||
else -> Visibilities.Private
|
||||
}
|
||||
|
||||
fun visibility(visibility: Visibility): ProtoBuf.Visibility = when (visibility) {
|
||||
Visibilities.INTERNAL -> ProtoBuf.Visibility.INTERNAL
|
||||
Visibilities.PUBLIC -> ProtoBuf.Visibility.PUBLIC
|
||||
Visibilities.PRIVATE -> ProtoBuf.Visibility.PRIVATE
|
||||
Visibilities.PRIVATE_TO_THIS -> ProtoBuf.Visibility.PRIVATE_TO_THIS
|
||||
Visibilities.PROTECTED -> ProtoBuf.Visibility.PROTECTED
|
||||
Visibilities.LOCAL -> ProtoBuf.Visibility.LOCAL
|
||||
Visibilities.Internal -> ProtoBuf.Visibility.INTERNAL
|
||||
Visibilities.Public -> ProtoBuf.Visibility.PUBLIC
|
||||
Visibilities.Private -> ProtoBuf.Visibility.PRIVATE
|
||||
Visibilities.PrivateToThis -> ProtoBuf.Visibility.PRIVATE_TO_THIS
|
||||
Visibilities.Protected -> ProtoBuf.Visibility.PROTECTED
|
||||
Visibilities.Local -> ProtoBuf.Visibility.LOCAL
|
||||
else -> throw IllegalArgumentException("Unknown visibility: $visibility")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -468,10 +468,10 @@ internal object CheckVisibility : CheckerStage() {
|
||||
JavaVisibilities.PACKAGE_VISIBILITY -> {
|
||||
symbol.packageFqName() == useSiteFile.packageFqName
|
||||
}
|
||||
Visibilities.INTERNAL -> {
|
||||
Visibilities.Internal -> {
|
||||
declaration.session == callInfo.session
|
||||
}
|
||||
Visibilities.PRIVATE, Visibilities.PRIVATE_TO_THIS -> {
|
||||
Visibilities.Private, Visibilities.PrivateToThis -> {
|
||||
if (declaration.session == callInfo.session) {
|
||||
if (ownerId == null || declaration is FirConstructor && declaration.isFromSealedClass) {
|
||||
val candidateFile = when (symbol) {
|
||||
@@ -489,7 +489,7 @@ internal object CheckVisibility : CheckerStage() {
|
||||
declaration is FirSimpleFunction && declaration.isAllowedToBeAccessedFromOutside()
|
||||
}
|
||||
}
|
||||
Visibilities.PROTECTED -> {
|
||||
Visibilities.Protected -> {
|
||||
ownerId != null && canSeeProtectedMemberOf(containingDeclarations, candidate.dispatchReceiverValue, ownerId, session)
|
||||
}
|
||||
JavaVisibilities.PROTECTED_AND_PACKAGE, JavaVisibilities.PROTECTED_STATIC_VISIBILITY -> {
|
||||
|
||||
+2
-2
@@ -89,7 +89,7 @@ class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider: Kot
|
||||
origin = FirDeclarationOrigin.Synthetic
|
||||
name = relativeClassName.shortName()
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.ABSTRACT
|
||||
).apply {
|
||||
isExpect = false
|
||||
@@ -129,7 +129,7 @@ class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider: Kot
|
||||
)
|
||||
val name = OperatorNameConventions.INVOKE
|
||||
val functionStatus = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.ABSTRACT
|
||||
).apply {
|
||||
isExpect = false
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro
|
||||
origin = FirDeclarationOrigin.Library
|
||||
this.session = session
|
||||
status = FirDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.ABSTRACT
|
||||
)
|
||||
classKind = ClassKind.INTERFACE
|
||||
@@ -52,7 +52,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro
|
||||
returnTypeRef = buildResolvedTypeRef {
|
||||
type = session.builtinTypes.anyType.type
|
||||
}
|
||||
status = FirDeclarationStatusImpl(Visibilities.PROTECTED, Modality.OPEN)
|
||||
status = FirDeclarationStatusImpl(Visibilities.Protected, Modality.OPEN)
|
||||
name = CLONE
|
||||
symbol = FirNamedFunctionSymbol(CallableId(CLONEABLE_CLASS_ID, CLONE))
|
||||
}
|
||||
|
||||
+7
-7
@@ -183,11 +183,11 @@ fun FirDeclaration.resolveStatus(
|
||||
containingClass: FirClass<*>?,
|
||||
isLocal: Boolean
|
||||
): FirDeclarationStatus {
|
||||
if (status.visibility == Visibilities.UNKNOWN || status.modality == null || status.modality == Modality.OPEN) {
|
||||
if (status.visibility == Visibilities.Unknown || status.modality == null || status.modality == Modality.OPEN) {
|
||||
val visibility = when (status.visibility) {
|
||||
Visibilities.UNKNOWN -> when {
|
||||
isLocal -> Visibilities.LOCAL
|
||||
this is FirConstructor && containingClass is FirAnonymousObject -> Visibilities.PRIVATE
|
||||
Visibilities.Unknown -> when {
|
||||
isLocal -> Visibilities.Local
|
||||
this is FirConstructor && containingClass is FirAnonymousObject -> Visibilities.Private
|
||||
else -> resolveVisibility(containingClass)
|
||||
}
|
||||
else -> status.visibility
|
||||
@@ -219,10 +219,10 @@ private fun FirDeclaration.resolveVisibility(containingClass: FirClass<*>?): Vis
|
||||
(containingClass.classKind == ClassKind.ENUM_CLASS || containingClass.classKind == ClassKind.ENUM_ENTRY ||
|
||||
containingClass.modality == Modality.SEALED)
|
||||
) {
|
||||
return Visibilities.PRIVATE
|
||||
return Visibilities.Private
|
||||
}
|
||||
}
|
||||
return Visibilities.PUBLIC // TODO (overrides)
|
||||
return Visibilities.Public // TODO (overrides)
|
||||
}
|
||||
|
||||
private fun FirDeclaration.resolveModality(containingClass: FirClass<*>?): Modality {
|
||||
@@ -233,7 +233,7 @@ private fun FirDeclaration.resolveModality(containingClass: FirClass<*>?): Modal
|
||||
containingClass == null -> Modality.FINAL
|
||||
containingClass.classKind == ClassKind.INTERFACE -> {
|
||||
when {
|
||||
visibility == Visibilities.PRIVATE ->
|
||||
visibility == Visibilities.Private ->
|
||||
Modality.FINAL
|
||||
!this.hasOwnBodyOrAccessorBody() ->
|
||||
Modality.ABSTRACT
|
||||
|
||||
+1
-1
@@ -287,7 +287,7 @@ class FirSyntheticCallGenerator(
|
||||
origin = FirDeclarationOrigin.Synthetic
|
||||
this.symbol = symbol
|
||||
this.name = name
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isExpect = false
|
||||
isActual = false
|
||||
isOverride = false
|
||||
|
||||
+4
-4
@@ -134,7 +134,7 @@ class FirClassSubstitutionScope(
|
||||
is FirConstructorSymbol -> return original
|
||||
else -> throw AssertionError("Should not be here")
|
||||
}
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.PRIVATE) return original
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.Private) return original
|
||||
|
||||
val (newTypeParameters, newReceiverType, newReturnType, newSubstitutor) = createSubstitutedData(member)
|
||||
val newParameterTypes = member.valueParameters.map {
|
||||
@@ -185,7 +185,7 @@ class FirClassSubstitutionScope(
|
||||
private fun createFakeOverrideProperty(original: FirPropertySymbol): FirPropertySymbol {
|
||||
if (substitutor == ConeSubstitutor.Empty) return original
|
||||
val member = original.fir
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.PRIVATE) return original
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.Private) return original
|
||||
|
||||
val (newTypeParameters, newReceiverType, newReturnType) = createSubstitutedData(member)
|
||||
if (newReceiverType == null &&
|
||||
@@ -230,7 +230,7 @@ class FirClassSubstitutionScope(
|
||||
private fun createFakeOverrideField(original: FirFieldSymbol): FirFieldSymbol {
|
||||
if (substitutor == ConeSubstitutor.Empty) return original
|
||||
val member = original.fir
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.PRIVATE) return original
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.Private) return original
|
||||
|
||||
val returnType = typeCalculator.tryCalculateReturnType(member).type
|
||||
val newReturnType = returnType.substitute() ?: return original
|
||||
@@ -241,7 +241,7 @@ class FirClassSubstitutionScope(
|
||||
private fun createFakeOverrideAccessor(original: FirAccessorSymbol): FirAccessorSymbol {
|
||||
if (substitutor == ConeSubstitutor.Empty) return original
|
||||
val member = original.fir as FirSyntheticProperty
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.PRIVATE) return original
|
||||
if (skipPrivateMembers && member.visibility == Visibilities.Private) return original
|
||||
|
||||
val returnType = typeCalculator.tryCalculateReturnType(member).type
|
||||
val newReturnType = returnType.substitute()
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ class FirIntegerLiteralTypeScope(private val session: FirSession, val isUnsigned
|
||||
FirILTTypeRefPlaceHolder(isUnsigned),
|
||||
receiverTypeRef = null,
|
||||
ALL_OPERATORS.getValue(name),
|
||||
FirResolvedDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL),
|
||||
FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL),
|
||||
symbol
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
||||
|
||||
@@ -47,7 +47,7 @@ fun FirRegularClassBuilder.generateValuesFunction(
|
||||
)
|
||||
}
|
||||
name = ENUM_VALUES
|
||||
this.status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isStatic = true
|
||||
isExpect = makeExpect
|
||||
}
|
||||
@@ -74,7 +74,7 @@ fun FirRegularClassBuilder.generateValueOfFunction(
|
||||
)
|
||||
}
|
||||
name = ENUM_VALUE_OF
|
||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||
status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply {
|
||||
isStatic = true
|
||||
isExpect = makeExpect
|
||||
}
|
||||
|
||||
@@ -43,8 +43,8 @@ fun FirElement.render(mode: FirRenderer.RenderMode = FirRenderer.RenderMode.Norm
|
||||
class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderMode.Normal) : FirVisitorVoid() {
|
||||
companion object {
|
||||
private val visibilitiesToRenderEffectiveSet = setOf(
|
||||
Visibilities.PRIVATE, Visibilities.PRIVATE_TO_THIS, Visibilities.INTERNAL,
|
||||
Visibilities.PROTECTED, Visibilities.PUBLIC, Visibilities.LOCAL
|
||||
Visibilities.Private, Visibilities.PrivateToThis, Visibilities.Internal,
|
||||
Visibilities.Protected, Visibilities.Public, Visibilities.Local
|
||||
)
|
||||
}
|
||||
|
||||
@@ -187,13 +187,13 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
private fun Visibility.asString(effectiveVisibility: FirEffectiveVisibility? = null): String {
|
||||
val itself = when (this) {
|
||||
Visibilities.UNKNOWN -> return "public?"
|
||||
Visibilities.Unknown -> return "public?"
|
||||
else -> toString()
|
||||
}
|
||||
if (effectiveVisibility == null || effectiveVisibility == FirEffectiveVisibility.Default) return itself
|
||||
val effectiveAsVisibility = effectiveVisibility.toVisibility()
|
||||
if (effectiveAsVisibility == this) return itself
|
||||
if (effectiveAsVisibility == Visibilities.PRIVATE && this == Visibilities.PRIVATE_TO_THIS) return itself
|
||||
if (effectiveAsVisibility == Visibilities.Private && this == Visibilities.PrivateToThis) return itself
|
||||
if (this !in visibilitiesToRenderEffectiveSet) return itself
|
||||
return itself + "[${effectiveVisibility.name}]"
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ inline val FirRegularClass.isFun get() = status.isFun
|
||||
inline val FirMemberDeclaration.modality get() = status.modality
|
||||
inline val FirMemberDeclaration.visibility get() = status.visibility
|
||||
inline val FirMemberDeclaration.allowsToHaveFakeOverride: Boolean
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.INVISIBLE_FAKE
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake
|
||||
inline val FirMemberDeclaration.isActual get() = status.isActual
|
||||
inline val FirMemberDeclaration.isExpect get() = status.isExpect
|
||||
inline val FirMemberDeclaration.isInner get() = status.isInner
|
||||
@@ -65,10 +65,10 @@ inline val FirPropertyAccessor.visibility get() = status.visibility
|
||||
inline val FirPropertyAccessor.isInline get() = status.isInline
|
||||
inline val FirPropertyAccessor.isExternal get() = status.isExternal
|
||||
inline val FirPropertyAccessor.allowsToHaveFakeOverride: Boolean
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.INVISIBLE_FAKE
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake
|
||||
|
||||
inline val FirRegularClass.isLocal get() = symbol.classId.isLocal
|
||||
inline val FirSimpleFunction.isLocal get() = status.visibility == Visibilities.LOCAL
|
||||
inline val FirSimpleFunction.isLocal get() = status.visibility == Visibilities.Local
|
||||
|
||||
fun FirRegularClassBuilder.addDeclaration(declaration: FirDeclaration) {
|
||||
declarations += declaration
|
||||
|
||||
+4
-4
@@ -63,10 +63,10 @@ class AllOpenVisibilityTransformer(session: FirSession) : FirStatusTransformerEx
|
||||
val symbol = (argument.calleeReference as? FirResolvedNamedReference)?.resolvedSymbol as? FirVariableSymbol<*> ?: return null
|
||||
val name = symbol.callableId.takeIf { it.classId == VisibilityClassId }?.callableName ?: return null
|
||||
return when (name) {
|
||||
PublicName -> Visibilities.PUBLIC
|
||||
InternalName -> Visibilities.INTERNAL
|
||||
PrivateName -> Visibilities.PRIVATE
|
||||
ProtectedName -> Visibilities.PROTECTED
|
||||
PublicName -> Visibilities.Public
|
||||
InternalName -> Visibilities.Internal
|
||||
PrivateName -> Visibilities.Private
|
||||
ProtectedName -> Visibilities.Protected
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PRIVATE,
|
||||
Visibilities.Private,
|
||||
Modality.FINAL
|
||||
).apply {
|
||||
isInner = true
|
||||
@@ -65,7 +65,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
type = ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(classId), emptyArray(), isNullable = false)
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
symbol = FirConstructorSymbol(CallableId(classId, classId.shortClassName))
|
||||
@@ -77,7 +77,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ class AllOpenRecursiveNestedClassGenerator(session: FirSession) : FirDeclaration
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
classKind = ClassKind.CLASS
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
classKind = ClassKind.OBJECT
|
||||
@@ -55,7 +55,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
|
||||
origin = FirDeclarationOrigin.Plugin(key)
|
||||
returnTypeRef = session.builtinTypes.intType
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.PUBLIC,
|
||||
Visibilities.Public,
|
||||
Modality.FINAL
|
||||
)
|
||||
name = Name.identifier("hello")
|
||||
|
||||
Reference in New Issue
Block a user