Rename Visibility to DescriptorVisibility

This commit is contained in:
Dmitriy Novozhilov
2020-09-01 16:06:06 +03:00
parent 2bcd8ee07f
commit d1fd1da56f
379 changed files with 2240 additions and 2250 deletions
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
@@ -311,7 +311,7 @@ class CheckIrElementVisitor(
if (declaration is IrOverridableDeclaration<*>) {
for (overriddenSymbol in declaration.overriddenSymbols) {
val overriddenDeclaration = overriddenSymbol.owner as? IrDeclarationWithVisibility ?: continue
if (overriddenDeclaration.visibility == Visibilities.PRIVATE) {
if (overriddenDeclaration.visibility == DescriptorVisibilities.PRIVATE) {
reportError(declaration, "Overrides private declaration $overriddenDeclaration")
}
}
@@ -9,8 +9,8 @@ import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.deepCopyWithVariables
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
@@ -86,7 +86,7 @@ val IrCall.isSuspend get() = (symbol.owner as? IrSimpleFunction)?.isSuspend == t
val IrFunctionReference.isSuspend get() = (symbol.owner as? IrSimpleFunction)?.isSuspend == true
val IrSimpleFunction.isOverridable: Boolean
get() = visibility != Visibilities.PRIVATE && modality != Modality.FINAL && (parent as? IrClass)?.isFinalClass != true
get() = visibility != DescriptorVisibilities.PRIVATE && modality != Modality.FINAL && (parent as? IrClass)?.isFinalClass != true
val IrSimpleFunction.isOverridableOrOverrides: Boolean get() = isOverridable || overriddenSymbols.isNotEmpty()
@@ -456,7 +456,7 @@ fun IrClass.addFakeOverridesViaIncorrectHeuristic(implementedMembers: List<IrSim
irClass.declarations
.flatMap { it.toList() }
.filter { it !in overriddenFunctions }
.filter { it.visibility != Visibilities.PRIVATE }
.filter { it.visibility != DescriptorVisibilities.PRIVATE }
}
.toMutableSet()
@@ -468,7 +468,7 @@ fun IrClass.addFakeOverridesViaIncorrectHeuristic(implementedMembers: List<IrSim
irFunction.factory.buildFun {
origin = IrDeclarationOrigin.FAKE_OVERRIDE
name = irFunction.name
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
modality = irFunction.modality
returnType = irFunction.returnType
isInline = irFunction.isInline
@@ -499,16 +499,16 @@ fun IrClass.addFakeOverridesViaIncorrectHeuristic(implementedMembers: List<IrSim
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrFactory.createStaticFunctionWithReceivers(
irParent: IrDeclarationParent,
name: Name,
oldFunction: IrFunction,
dispatchReceiverType: IrType? = oldFunction.dispatchReceiverParameter?.type,
origin: IrDeclarationOrigin = oldFunction.origin,
modality: Modality = Modality.FINAL,
visibility: Visibility = oldFunction.visibility,
isFakeOverride: Boolean = oldFunction.isFakeOverride,
copyMetadata: Boolean = true,
typeParametersFromContext: List<IrTypeParameter> = listOf()
irParent: IrDeclarationParent,
name: Name,
oldFunction: IrFunction,
dispatchReceiverType: IrType? = oldFunction.dispatchReceiverParameter?.type,
origin: IrDeclarationOrigin = oldFunction.origin,
modality: Modality = Modality.FINAL,
visibility: DescriptorVisibility = oldFunction.visibility,
isFakeOverride: Boolean = oldFunction.isFakeOverride,
copyMetadata: Boolean = true,
typeParametersFromContext: List<IrTypeParameter> = listOf()
): IrSimpleFunction {
val descriptor = (oldFunction.descriptor as? DescriptorWithContainerSource)?.let {
WrappedFunctionDescriptorWithContainerSource()
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.common.lower
import org.jetbrains.kotlin.backend.common.*
import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.*
@@ -449,7 +449,7 @@ abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val co
endOffset = irFunction.endOffset
origin = DECLARATION_ORIGIN_COROUTINE_IMPL
name = Name.identifier("create")
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
returnType = coroutineClass.defaultType
}.apply {
parent = coroutineClass
@@ -505,7 +505,7 @@ abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val co
endOffset = irFunction.endOffset
origin = DECLARATION_ORIGIN_COROUTINE_IMPL
name = Name.identifier("invoke")
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
returnType = context.irBuiltIns.anyNType
isSuspend = true
}.apply {
@@ -623,7 +623,7 @@ abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val co
this.origin = DECLARATION_ORIGIN_COROUTINE_IMPL
this.name = name
this.type = type
this.visibility = Visibilities.PRIVATE
this.visibility = DescriptorVisibilities.PRIVATE
this.isFinal = !isMutable
}.also {
it.parent = this
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.backend.common.lower
import org.jetbrains.kotlin.backend.common.ir.ir2string
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
@@ -264,7 +264,7 @@ class ClosureAnnotator(irElement: IrElement, declaration: IrDeclaration) {
private fun processMemberAccess(declaration: IrDeclaration, parentClosure: ClosureBuilder?) {
if (declaration.isLocal) {
if (declaration is IrSimpleFunction && declaration.visibility != Visibilities.LOCAL) {
if (declaration is IrSimpleFunction && declaration.visibility != DescriptorVisibilities.LOCAL) {
return
}
@@ -275,4 +275,4 @@ class ClosureAnnotator(irElement: IrElement, declaration: IrDeclaration) {
}
}
}
}
}
@@ -9,8 +9,8 @@ import org.jetbrains.kotlin.backend.common.*
import org.jetbrains.kotlin.backend.common.descriptors.synthesizedString
import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
@@ -229,7 +229,7 @@ open class DefaultArgumentStubGenerator(
error("This method should be overridden")
}
protected open fun defaultArgumentStubVisibility(function: IrFunction) = Visibilities.PUBLIC
protected open fun defaultArgumentStubVisibility(function: IrFunction) = DescriptorVisibilities.PUBLIC
protected open fun useConstructorMarker(function: IrFunction) = function is IrConstructor
@@ -415,7 +415,7 @@ open class DefaultParameterInjector(
protected open fun nullConst(startOffset: Int, endOffset: Int, type: IrType): IrExpression =
IrConstImpl.defaultValueForType(startOffset, endOffset, type)
protected open fun defaultArgumentStubVisibility(function: IrFunction) = Visibilities.PUBLIC
protected open fun defaultArgumentStubVisibility(function: IrFunction) = DescriptorVisibilities.PUBLIC
protected open fun useConstructorMarker(function: IrFunction) = function is IrConstructor
@@ -465,12 +465,12 @@ class DefaultParameterPatchOverridenSymbolsLowering(
}
private fun IrFunction.generateDefaultsFunction(
context: CommonBackendContext,
skipInlineMethods: Boolean,
skipExternalMethods: Boolean,
forceSetOverrideSymbols: Boolean,
visibility: Visibility,
useConstructorMarker: Boolean
context: CommonBackendContext,
skipInlineMethods: Boolean,
skipExternalMethods: Boolean,
forceSetOverrideSymbols: Boolean,
visibility: DescriptorVisibility,
useConstructorMarker: Boolean
): IrFunction? {
if (skipInlineMethods && isInline) return null
if (skipExternalMethods && isExternalOrInheritedFromExternal()) return null
@@ -520,11 +520,11 @@ private fun IrFunction.generateDefaultsFunction(
@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun IrFunction.generateDefaultsFunctionImpl(
context: CommonBackendContext,
newOrigin: IrDeclarationOrigin,
newVisibility: Visibility,
isFakeOverride: Boolean,
useConstructorMarker: Boolean
context: CommonBackendContext,
newOrigin: IrDeclarationOrigin,
newVisibility: DescriptorVisibility,
isFakeOverride: Boolean,
useConstructorMarker: Boolean
): IrFunction {
val newFunction = when (this) {
is IrConstructor ->
@@ -12,8 +12,8 @@ import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.backend.common.runOnFilePostfix
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.*
import org.jetbrains.kotlin.ir.builders.declarations.buildConstructor
import org.jetbrains.kotlin.ir.builders.declarations.buildField
@@ -49,14 +49,14 @@ interface LocalNameProvider {
}
interface VisibilityPolicy {
fun forClass(declaration: IrClass, inInlineFunctionScope: Boolean): Visibility =
fun forClass(declaration: IrClass, inInlineFunctionScope: Boolean): DescriptorVisibility =
declaration.visibility
fun forConstructor(declaration: IrConstructor, inInlineFunctionScope: Boolean): Visibility =
Visibilities.PRIVATE
fun forConstructor(declaration: IrConstructor, inInlineFunctionScope: Boolean): DescriptorVisibility =
DescriptorVisibilities.PRIVATE
fun forCapturedField(value: IrValueSymbol): Visibility =
Visibilities.PRIVATE
fun forCapturedField(value: IrValueSymbol): DescriptorVisibility =
DescriptorVisibilities.PRIVATE
companion object {
val DEFAULT = object : VisibilityPolicy {}
@@ -597,7 +597,7 @@ class LocalDeclarationsLowering(
val newDeclaration = context.irFactory.buildFun {
updateFrom(oldDeclaration)
name = newName
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
modality = Modality.FINAL
}
@@ -721,13 +721,13 @@ class LocalDeclarationsLowering(
}
private fun createFieldForCapturedValue(
startOffset: Int,
endOffset: Int,
name: Name,
visibility: Visibility,
parent: IrClass,
fieldType: IrType,
isCrossinline: Boolean
startOffset: Int,
endOffset: Int,
name: Name,
visibility: DescriptorVisibility,
parent: IrClass,
fieldType: IrType,
isCrossinline: Boolean
): IrField =
context.irFactory.buildField {
this.startOffset = startOffset
@@ -883,7 +883,7 @@ class LocalDeclarationsLowering(
override fun visitSimpleFunction(declaration: IrSimpleFunction, data: Data) {
super.visitSimpleFunction(declaration, data.withInline(declaration.isInline))
if (declaration.visibility == Visibilities.LOCAL) {
if (declaration.visibility == DescriptorVisibilities.LOCAL) {
val enclosingScope = data.currentClass
?: enclosingClass?.scopeWithCounter
// File is required for K/N because file declarations are not split by classes.
@@ -924,4 +924,4 @@ class LocalDeclarationsLowering(
}
// Local inner classes capture anything through outer
internal fun IrClass.isLocalNotInner(): Boolean = visibility == Visibilities.LOCAL && !isInner
internal fun IrClass.isLocalNotInner(): Boolean = visibility == DescriptorVisibilities.LOCAL && !isInner
@@ -14,8 +14,8 @@ import org.jetbrains.kotlin.backend.common.ir.copyTo
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.*
@@ -62,7 +62,7 @@ abstract class SingleAbstractMethodLowering(val context: CommonBackendContext) :
protected val inlineCachedImplementations = mutableMapOf<IrType, IrClass>()
protected var enclosingContainer: IrDeclarationContainer? = null
abstract fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): Visibility
abstract fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): DescriptorVisibility
abstract fun getSuperTypeForWrapper(typeOperand: IrType): IrType
@@ -143,14 +143,14 @@ abstract class SingleAbstractMethodLowering(val context: CommonBackendContext) :
// Construct a class that wraps an invokable object into an implementation of an interface:
// class sam$n(private val invokable: F) : Interface { override fun method(...) = invokable(...) }
private fun createObjectProxy(superType: IrType, wrapperVisibility: Visibility, createFor: IrElement): IrClass {
private fun createObjectProxy(superType: IrType, wrapperVisibility: DescriptorVisibility, createFor: IrElement): IrClass {
val superClass = superType.classifierOrFail.owner as IrClass
// The language documentation prohibits casting lambdas to classes, but if it was allowed,
// the `irDelegatingConstructorCall` in the constructor below would need to be modified.
assert(superClass.kind == ClassKind.INTERFACE) { "SAM conversion to an abstract class not allowed" }
val superFqName = superClass.fqNameWhenAvailable!!.asString().replace('.', '_')
val inlinePrefix = if (wrapperVisibility == Visibilities.PUBLIC) "\$i" else ""
val inlinePrefix = if (wrapperVisibility == DescriptorVisibilities.PUBLIC) "\$i" else ""
val wrapperName = Name.identifier("sam$inlinePrefix\$$superFqName$SAM_WRAPPER_SUFFIX")
val superMethod = superClass.functions.single { it.modality == Modality.ABSTRACT }
val extensionReceiversCount = if (superMethod.extensionReceiverParameter == null) 0 else 1
@@ -178,7 +178,7 @@ abstract class SingleAbstractMethodLowering(val context: CommonBackendContext) :
name = Name.identifier(FUNCTION_FIELD_NAME)
type = wrappedFunctionType
origin = subclass.origin
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
setSourceRange(createFor)
}
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ir.isTopLevel
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.expressions.impl.IrGetFieldImpl
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
class PropertyAccessorInlineLowering(private val context: CommonBackendContext) : BodyLoweringPass {
private val IrProperty.isSafeToInline: Boolean get() = isTopLevel || (modality === Modality.FINAL || visibility == Visibilities.PRIVATE) || (parent as IrClass).modality === Modality.FINAL
private val IrProperty.isSafeToInline: Boolean get() = isTopLevel || (modality === Modality.FINAL || visibility == DescriptorVisibilities.PRIVATE) || (parent as IrClass).modality === Modality.FINAL
// TODO: implement general function inlining optimization and replace it with
private inner class AccessorInliner : IrElementTransformerVoid() {
@@ -129,4 +129,4 @@ class PropertyAccessorInlineLowering(private val context: CommonBackendContext)
override fun lower(irBody: IrBody, container: IrDeclaration) {
irBody.transformChildrenVoid(AccessorInliner())
}
}
}
@@ -65,14 +65,14 @@ inline fun IrClass.addField(builder: IrFieldBuilder.() -> Unit) =
declarations.add(field)
}
fun IrClass.addField(fieldName: Name, fieldType: IrType, fieldVisibility: Visibility = Visibilities.PRIVATE): IrField =
fun IrClass.addField(fieldName: Name, fieldType: IrType, fieldVisibility: DescriptorVisibility = DescriptorVisibilities.PRIVATE): IrField =
addField {
name = fieldName
type = fieldType
visibility = fieldVisibility
}
fun IrClass.addField(fieldName: String, fieldType: IrType, fieldVisibility: Visibility = Visibilities.PRIVATE): IrField =
fun IrClass.addField(fieldName: String, fieldType: IrType, fieldVisibility: DescriptorVisibility = DescriptorVisibilities.PRIVATE): IrField =
addField(Name.identifier(fieldName), fieldType, fieldVisibility)
@PublishedApi
@@ -162,14 +162,14 @@ inline fun IrClass.addFunction(builder: IrFunctionBuilder.() -> Unit): IrSimpleF
factory.addFunction(this, builder)
fun IrClass.addFunction(
name: String,
returnType: IrType,
modality: Modality = Modality.FINAL,
visibility: Visibility = Visibilities.PUBLIC,
isStatic: Boolean = false,
isSuspend: Boolean = false,
isFakeOverride: Boolean = false,
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
name: String,
returnType: IrType,
modality: Modality = Modality.FINAL,
visibility: DescriptorVisibility = DescriptorVisibilities.PUBLIC,
isStatic: Boolean = false,
isSuspend: Boolean = false,
isFakeOverride: Boolean = false,
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
): IrSimpleFunction =
addFunction {
this.name = Name.identifier(name)
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.ir.backend.js
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrBodyBase
@@ -152,7 +152,7 @@ open class MutableController(val context: JsIrBackendContext, val lowerings: Lis
}
override fun canAccessDeclarationsOf(irClass: IrClass): Boolean {
return !declarationListsRestricted || irClass.visibility == Visibilities.LOCAL && irClass !in context.extractedLocalClasses
return !declarationListsRestricted || irClass.visibility == DescriptorVisibilities.LOCAL && irClass !in context.extractedLocalClasses
}
private var restrictedToDeclaration: IrDeclaration? = null
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.backend.common.ir.isExpect
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.backend.js.*
import org.jetbrains.kotlin.ir.backend.js.lower.ES6AddInternalParametersToConstructorPhase.*
import org.jetbrains.kotlin.ir.backend.js.utils.getJsNameOrKotlinName
@@ -356,7 +356,7 @@ private fun getExportCandidate(declaration: IrDeclaration): IrDeclarationWithNam
// Only actual public declarations with name can be exported
if (declaration !is IrDeclarationWithVisibility ||
declaration !is IrDeclarationWithName ||
declaration.visibility != Visibilities.PUBLIC ||
declaration.visibility != DescriptorVisibilities.PUBLIC ||
declaration.isExpect
) {
return null
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ir.isElseBranch
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.backend.js.JsCommonBackendContext
@@ -57,7 +57,7 @@ abstract class AbstractBlockDecomposerLowering(
val initFunction = context.irFactory.buildFun {
name = Name.identifier(container.name.asString() + "\$init\$")
returnType = container.type
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
origin = JsIrBuilder.SYNTHESIZED_DECLARATION
}.apply {
parent = container.parent
@@ -766,4 +766,4 @@ class BlockDecomposerTransformer(
}
}
}
}
}
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclaration
import org.jetbrains.kotlin.backend.common.ir.moveBodyTo
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.runOnFilePostfix
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.*
@@ -116,7 +116,7 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
private fun buildReferenceClass(): IrClass {
return context.irFactory.buildClass {
setSourceRange(reference)
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
// A callable reference results in a synthetic class, while a lambda is not synthetic.
// We don't produce GENERATED_SAM_IMPLEMENTATION, which is always synthetic.
origin = if (isKReference || !isLambda) FUNCTION_REFERENCE_IMPL else LAMBDA_IMPL
@@ -377,4 +377,4 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
val BOUND_RECEIVER_NAME = Name.identifier("\$boundThis")
}
}
}
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.FileLoweringPass
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
@@ -91,7 +91,7 @@ class CreateScriptFunctionsPhase(val context: CommonBackendContext) : FileLoweri
this.endOffset = endOffset
this.origin = SCRIPT_FUNCTION
this.name = Name.identifier(name)
this.visibility = Visibilities.PRIVATE
this.visibility = DescriptorVisibilities.PRIVATE
this.returnType = returnType
}.also {
it.parent = irScript
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
@@ -109,7 +109,7 @@ class ES6AddInternalParametersToConstructorPhase(val context: JsIrBackendContext
return context.irFactory.buildFun {
name = Name.identifier(functionName)
returnType = context.irBuiltIns.unitType
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
modality = Modality.FINAL
isInline = constructor.isInline
isExternal = constructor.isExternal
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.ir.copyTo
import org.jetbrains.kotlin.backend.common.ir.copyToWithoutSuperTypes
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
@@ -114,7 +114,7 @@ class InteropCallableReferenceLowering(val context: JsIrBackendContext) : BodyLo
endOffset = invokeFun.endOffset
// Since box/unbox is done on declaration side in case of suspend function use the specified type
returnType = if (invokeFun.isSuspend) invokeFun.returnType else superInvokeFun.returnType
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
name = lambdaName
isSuspend = invokeFun.isSuspend
}
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.backend.common.getOrPut
import org.jetbrains.kotlin.backend.common.ir.copyTo
import org.jetbrains.kotlin.backend.common.ir.copyTypeParametersFrom
import org.jetbrains.kotlin.backend.common.lower.InnerClassesSupport
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.JsMapping
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder.SYNTHESIZED_DECLARATION
@@ -41,7 +41,7 @@ class JsInnerClassesSupport(mapping: JsMapping, private val irFactory: IrFactory
origin = InnerClassesSupport.FIELD_FOR_OUTER_THIS
name = Name.identifier("\$this")
type = outerClass.defaultType
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
isFinal = true
isExternal = false
isStatic = false
@@ -8,8 +8,8 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.lower.SingleAbstractMethodLowering
import org.jetbrains.kotlin.backend.common.ScopeWithIr
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.ir.util.render
class JsSingleAbstractMethodLowering(context: JsIrBackendContext) : SingleAbstractMethodLowering(context), BodyLoweringPass {
override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): Visibility {
return Visibilities.PRIVATE
override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): DescriptorVisibility {
return DescriptorVisibilities.PRIVATE
}
override val IrType.needEqualsHashCodeMethods get() = false
@@ -62,4 +62,4 @@ class JsSingleAbstractMethodLowering(context: JsIrBackendContext) : SingleAbstra
// we don't have to be more saint than a pope here.
return typeOperand.classOrNull?.defaultType ?: error("Unsupported SAM conversion: ${typeOperand.render()}")
}
}
}
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.DeclarationTransformer
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.backend.js.JsCommonBackendContext
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
@@ -48,7 +48,7 @@ class PrimaryConstructorLowering(context: JsCommonBackendContext) : DeclarationT
irClass.addConstructor {
origin = SYNTHETIC_PRIMARY_CONSTRUCTOR
isPrimary = true
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
}
}
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.DeclarationTransformer
import org.jetbrains.kotlin.backend.common.ir.copyTo
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.builders.declarations.buildValueParameter
@@ -47,7 +47,7 @@ class PrivateMembersLowering(val context: JsIrBackendContext) : DeclarationTrans
private fun transformMemberToStaticFunction(function: IrSimpleFunction): IrSimpleFunction? {
if (function.visibility != Visibilities.PRIVATE || function.dispatchReceiverParameter == null) return null
if (function.visibility != DescriptorVisibilities.PRIVATE || function.dispatchReceiverParameter == null) return null
val staticFunction = context.irFactory.buildFun {
updateFrom(function)
@@ -215,4 +215,4 @@ class PrivateMemberBodiesLowering(val context: JsIrBackendContext) : BodyLowerin
}
}, null)
}
}
}
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.getOrPut
import org.jetbrains.kotlin.backend.common.ir.copyTo
import org.jetbrains.kotlin.backend.common.ir.copyTypeParametersFrom
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -172,7 +172,7 @@ private fun JsIrBackendContext.buildInitDeclaration(constructor: IrConstructor,
return irFactory.buildFun {
name = Name.identifier(functionName)
returnType = type
visibility = Visibilities.INTERNAL
visibility = DescriptorVisibilities.INTERNAL
modality = Modality.FINAL
isInline = constructor.isInline
isExternal = constructor.isExternal
@@ -306,4 +306,4 @@ private class CallsiteRedirectionTransformer(private val context: JsIrBackendCon
putValueArgument(i, call.getValueArgument(i))
}
}
}
}
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.backend.common.*
import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.backend.js.lower.CallableReferenceLowering
import org.jetbrains.kotlin.ir.builders.*
@@ -334,7 +334,7 @@ abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val co
endOffset = function.endOffset
origin = DECLARATION_ORIGIN_COROUTINE_IMPL
name = Name.identifier("create")
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
returnType = coroutineClass.defaultType
}.apply {
parent = coroutineClass
@@ -522,7 +522,7 @@ abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val co
this.origin = DECLARATION_ORIGIN_COROUTINE_IMPL
this.name = name
this.type = type
this.visibility = Visibilities.PRIVATE
this.visibility = DescriptorVisibilities.PRIVATE
this.isFinal = !isMutable
}.also {
it.parent = this
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.ir.backend.js.transformers.irToJs
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.backend.js.export.isExported
import org.jetbrains.kotlin.ir.backend.js.utils.*
import org.jetbrains.kotlin.ir.declarations.*
@@ -100,7 +100,7 @@ class JsClassGenerator(private val irClass: IrClass, val context: JsGenerationCo
if (property.getter?.extensionReceiverParameter != null || property.setter?.extensionReceiverParameter != null)
continue
if (property.visibility != Visibilities.PUBLIC)
if (property.visibility != DescriptorVisibilities.PUBLIC)
continue
if (property.isFakeOverride)
@@ -108,7 +108,7 @@ class JsClassGenerator(private val irClass: IrClass, val context: JsGenerationCo
fun IrSimpleFunction.accessorRef(): JsNameRef? =
when (visibility) {
Visibilities.PRIVATE -> null
DescriptorVisibilities.PRIVATE -> null
else -> JsNameRef(
context.getNameForMemberFunction(this),
classPrototypeRef
@@ -15,8 +15,8 @@ import org.jetbrains.kotlin.backend.jvm.ir.copyCorrespondingPropertyFrom
import org.jetbrains.kotlin.backend.jvm.ir.replaceThisByStaticReference
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
import org.jetbrains.kotlin.ir.builders.declarations.buildField
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.load.java.DescriptorsJvmAbiUtil.isMappedIntrinsicCompanionObject
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.deprecation.DeprecationResolver
@@ -74,8 +74,8 @@ class JvmCachedDeclarations(
isFinal = true
isStatic = true
visibility = when {
!useProperVisibilityForCompanion -> Visibilities.PUBLIC
originalVisibility == Visibilities.PROTECTED -> JavaVisibilities.PROTECTED_STATIC_VISIBILITY
!useProperVisibilityForCompanion -> DescriptorVisibilities.PUBLIC
originalVisibility == DescriptorVisibilities.PROTECTED -> JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
else -> originalVisibility
}
@@ -93,7 +93,7 @@ class JvmCachedDeclarations(
origin = JvmLoweredDeclarationOrigin.INTERFACE_COMPANION_PRIVATE_INSTANCE
isFinal = true
isStatic = true
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}.apply {
parent = singleton
}
@@ -170,7 +170,7 @@ class JvmCachedDeclarations(
// Interface functions are public or private, with one exception: clone in Cloneable, which is protected.
// However, Cloneable has no DefaultImpls, so this merely replicates the incorrect behavior of the old backend.
// We should rather not generate a bridge to clone when interface inherits from Cloneable at all.
visibility = if (interfaceFun.visibility == Visibilities.PRIVATE) Visibilities.PRIVATE else Visibilities.PUBLIC,
visibility = if (interfaceFun.visibility == DescriptorVisibilities.PRIVATE) DescriptorVisibilities.PRIVATE else DescriptorVisibilities.PUBLIC,
isFakeOverride = false,
typeParametersFromContext = parent.typeParameters
@@ -52,7 +52,7 @@ class JvmGeneratorExtensions(private val generateFacades: Boolean = true) : Gene
companion object Instance : JvmSamConversion()
}
override fun computeFieldVisibility(descriptor: PropertyDescriptor): Visibility? =
override fun computeFieldVisibility(descriptor: PropertyDescriptor): DescriptorVisibility? =
if (descriptor.hasJvmFieldAnnotation() || descriptor is JavaCallableMemberDescriptor)
descriptor.visibility
else
@@ -13,11 +13,10 @@ import org.jetbrains.kotlin.backend.common.lower.optimizations.foldConstantLower
import org.jetbrains.kotlin.backend.common.phaser.*
import org.jetbrains.kotlin.backend.jvm.codegen.shouldContainSuspendMarkers
import org.jetbrains.kotlin.backend.jvm.lower.*
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
import org.jetbrains.kotlin.ir.util.PatchDeclarationParentsVisitor
import org.jetbrains.kotlin.ir.util.isAnonymousObject
@@ -25,7 +24,7 @@ import org.jetbrains.kotlin.ir.util.parentAsClass
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.ir.visitors.acceptVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.NameUtils
private fun makePatchParentsPhase(number: Int): NamedCompilerPhase<CommonBackendContext, IrFile> = makeIrFilePhase(
@@ -112,7 +111,7 @@ internal val localDeclarationsPhase = makeIrFilePhase(
NameUtils.sanitizeAsJavaIdentifier(super.localName(declaration))
},
object : VisibilityPolicy {
override fun forClass(declaration: IrClass, inInlineFunctionScope: Boolean): Visibility =
override fun forClass(declaration: IrClass, inInlineFunctionScope: Boolean): DescriptorVisibility =
if (declaration.origin == JvmLoweredDeclarationOrigin.LAMBDA_IMPL ||
declaration.origin == JvmLoweredDeclarationOrigin.FUNCTION_REFERENCE_IMPL ||
declaration.origin == JvmLoweredDeclarationOrigin.GENERATED_PROPERTY_REFERENCE
@@ -122,17 +121,17 @@ internal val localDeclarationsPhase = makeIrFilePhase(
declaration.visibility
}
override fun forConstructor(declaration: IrConstructor, inInlineFunctionScope: Boolean): Visibility =
override fun forConstructor(declaration: IrConstructor, inInlineFunctionScope: Boolean): DescriptorVisibility =
if (declaration.parentAsClass.isAnonymousObject)
scopedVisibility(inInlineFunctionScope)
else
declaration.visibility
override fun forCapturedField(value: IrValueSymbol): Visibility =
JavaVisibilities.PACKAGE_VISIBILITY // avoid requiring a synthetic accessor for it
override fun forCapturedField(value: IrValueSymbol): DescriptorVisibility =
JavaDescriptorVisibilities.PACKAGE_VISIBILITY // avoid requiring a synthetic accessor for it
private fun scopedVisibility(inInlineFunctionScope: Boolean): Visibility =
if (inInlineFunctionScope) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
private fun scopedVisibility(inInlineFunctionScope: Boolean): DescriptorVisibility =
if (inInlineFunctionScope) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
)
},
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.codegen.coroutines.SUSPEND_FUNCTION_CREATE_METHOD_NA
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.*
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -277,7 +277,7 @@ class JvmSymbols(
continuationClass.typeWith(irBuiltIns.anyNType).makeNullable()
)
}
klass.addFunction(INVOKE_SUSPEND_METHOD_NAME, irBuiltIns.anyNType, Modality.ABSTRACT, Visibilities.PROTECTED).apply {
klass.addFunction(INVOKE_SUSPEND_METHOD_NAME, irBuiltIns.anyNType, Modality.ABSTRACT, DescriptorVisibilities.PROTECTED).apply {
addValueParameter(SUSPEND_CALL_RESULT_NAME, resultClassStub.typeWith(irBuiltIns.anyNType))
}
klass.addFunction(SUSPEND_FUNCTION_CREATE_METHOD_NAME, continuationClass.typeWith(irBuiltIns.unitType), Modality.OPEN).apply {
@@ -306,7 +306,7 @@ class JvmSymbols(
addValueParameter("receiver", irBuiltIns.anyNType)
}
klass.addField("receiver", irBuiltIns.anyNType, Visibilities.PROTECTED)
klass.addField("receiver", irBuiltIns.anyNType, DescriptorVisibilities.PROTECTED)
generateCallableReferenceMethods(klass)
}
@@ -440,7 +440,7 @@ class JvmSymbols(
backingField = irFactory.buildField {
name = receiverFieldName
type = irBuiltIns.anyNType
visibility = Visibilities.PROTECTED
visibility = DescriptorVisibilities.PROTECTED
}.also { field ->
field.parent = klass
}
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.codegen.TypePathInfo
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.config.JvmTarget.JVM_1_6
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.annotations.KotlinRetention
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
import org.jetbrains.kotlin.ir.declarations.*
@@ -81,7 +81,7 @@ abstract class AnnotationCodegen(
KotlinTarget.CLASS !in applicableTargets &&
KotlinTarget.ANNOTATION_CLASS !in applicableTargets
) {
if (annotated.visibility == Visibilities.LOCAL) {
if (annotated.visibility == DescriptorVisibilities.LOCAL) {
assert(KotlinTarget.EXPRESSION in applicableTargets) {
"Inconsistent target list for object literal annotation: $applicableTargets on $annotated"
}
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.codegen.AsmUtil
import org.jetbrains.kotlin.codegen.inline.*
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
@@ -426,7 +426,7 @@ private val Modality.flags: Int
else -> throw AssertionError("Unsupported modality $this")
}
private val Visibility.flags: Int
private val DescriptorVisibility.flags: Int
get() = AsmUtil.getVisibilityAccessFlag(this) ?: throw AssertionError("Unsupported visibility $this")
internal val IrDeclaration.OtherOrigin: JvmDeclarationOrigin
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.isReleaseCoroutines
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
@@ -258,7 +258,7 @@ class ExpressionCodegen(
return
val notCallableFromJava = inlinedInto != null ||
(Visibilities.isPrivate(irFunction.visibility) && !(irFunction is IrSimpleFunction && irFunction.isOperator)) ||
(DescriptorVisibilities.isPrivate(irFunction.visibility) && !(irFunction is IrSimpleFunction && irFunction.isOperator)) ||
irFunction.origin.isSynthetic ||
// TODO: refine this condition to not generate nullability assertions on parameters
// corresponding to captured variables and anonymous object super constructor arguments
@@ -21,12 +21,12 @@ import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.codegen.visitAnnotableParameterCount
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.annotations.JVM_THROWS_ANNOTATION_FQ_NAME
import org.jetbrains.kotlin.resolve.jvm.annotations.JVM_SYNTHETIC_ANNOTATION_FQ_NAME
@@ -155,8 +155,8 @@ class FunctionCodegen(
private fun IrFunction.getVisibilityForDefaultArgumentStub(): Int =
when (visibility) {
Visibilities.PUBLIC -> Opcodes.ACC_PUBLIC
JavaVisibilities.PACKAGE_VISIBILITY -> AsmUtil.NO_FLAG_PACKAGE_PRIVATE
DescriptorVisibilities.PUBLIC -> Opcodes.ACC_PUBLIC
JavaDescriptorVisibilities.PACKAGE_VISIBILITY -> AsmUtil.NO_FLAG_PACKAGE_PRIVATE
else -> throw IllegalStateException("Default argument stub should be either public or package private: ${ir2string(this)}")
}
@@ -182,7 +182,7 @@ class FunctionCodegen(
else -> if (parentAsClass.isJvmInterface && body == null) Opcodes.ACC_ABSTRACT else 0
}
val isSynthetic = origin.isSynthetic || hasAnnotation(JVM_SYNTHETIC_ANNOTATION_FQ_NAME) ||
(isSuspend && Visibilities.isPrivate(visibility) && !isInline) || isReifiable()
(isSuspend && DescriptorVisibilities.isPrivate(visibility) && !isInline) || isReifiable()
val isStrict = hasAnnotation(STRICTFP_ANNOTATION_FQ_NAME)
val isSynchronized = hasAnnotation(SYNCHRONIZED_ANNOTATION_FQ_NAME)
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.jvm.codegen
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
import org.jetbrains.kotlin.codegen.signature.JvmSignatureWriter
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.types.IrSimpleType
import org.jetbrains.kotlin.ir.types.IrType
@@ -63,7 +63,7 @@ private fun IrSimpleType.buildPossiblyInnerType(classifier: IrClass?, index: Int
val toIndex = classifier.typeParameters.size + index
if (!classifier.isInner) {
assert(toIndex == arguments.size || classifier.visibility == Visibilities.LOCAL) {
assert(toIndex == arguments.size || classifier.visibility == DescriptorVisibilities.LOCAL) {
"${arguments.size - toIndex} trailing arguments were found in this type: ${render()}"
}
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.codegen.state.JVM_SUPPRESS_WILDCARDS_ANNOTATION_FQ_N
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.codegen.state.extractTypeMappingModeFromAnnotation
import org.jetbrains.kotlin.codegen.state.isMethodWithDeclarationSiteWildcardsFqName
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass
import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyFunctionBase
@@ -106,7 +106,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
val newName = JvmCodegenUtil.sanitizeNameIfNeeded(name, context.state.languageVersionSettings)
if (function.isTopLevel) {
if (Visibilities.isPrivate(function.suspendFunctionOriginal().visibility) &&
if (DescriptorVisibilities.isPrivate(function.suspendFunctionOriginal().visibility) &&
newName != "<clinit>" && (function.parent as? IrClass)?.attributeOwnerId in context.multifileFacadeForPart
) {
return "$newName$${function.parentAsClass.name.asString()}"
@@ -123,7 +123,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
private fun IrFunction.shouldMangleAsInternal() =
this !is IrConstructor &&
origin != JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR &&
visibility == Visibilities.INTERNAL &&
visibility == DescriptorVisibilities.INTERNAL &&
!isPublishedApi()
private fun getModuleName(function: IrFunction): String =
@@ -313,8 +313,8 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
val invokeOpcode = when {
callee.dispatchReceiverParameter == null -> Opcodes.INVOKESTATIC
isSuperCall -> Opcodes.INVOKESPECIAL
isInterface && !Visibilities.isPrivate(callee.visibility) -> Opcodes.INVOKEINTERFACE
Visibilities.isPrivate(callee.visibility) && !callee.isSuspend -> Opcodes.INVOKESPECIAL
isInterface && !DescriptorVisibilities.isPrivate(callee.visibility) -> Opcodes.INVOKEINTERFACE
DescriptorVisibilities.isPrivate(callee.visibility) && !callee.isSuspend -> Opcodes.INVOKESPECIAL
else -> Opcodes.INVOKEVIRTUAL
}
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrGetEnumValue
import org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.types.IrSimpleType
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker
@@ -133,7 +133,7 @@ fun IrClass.calculateInnerClassAccessFlags(context: JvmBackendContext): Int {
}
val visibility = when {
isLambda -> getVisibilityAccessFlagForAnonymous()
visibility === Visibilities.LOCAL -> Opcodes.ACC_PUBLIC
visibility === DescriptorVisibilities.LOCAL -> Opcodes.ACC_PUBLIC
else -> getVisibilityAccessFlag()
}
return visibility or
@@ -163,15 +163,15 @@ fun IrDeclarationWithVisibility.getVisibilityAccessFlag(kind: OwnerKind? = null)
return it
}
return when (visibility) {
Visibilities.PRIVATE -> Opcodes.ACC_PRIVATE
Visibilities.PRIVATE_TO_THIS -> Opcodes.ACC_PRIVATE
Visibilities.PROTECTED -> Opcodes.ACC_PROTECTED
JavaVisibilities.PROTECTED_STATIC_VISIBILITY -> Opcodes.ACC_PROTECTED
JavaVisibilities.PROTECTED_AND_PACKAGE -> Opcodes.ACC_PROTECTED
Visibilities.PUBLIC -> Opcodes.ACC_PUBLIC
Visibilities.INTERNAL -> Opcodes.ACC_PUBLIC
Visibilities.LOCAL -> NO_FLAG_LOCAL
JavaVisibilities.PACKAGE_VISIBILITY -> AsmUtil.NO_FLAG_PACKAGE_PRIVATE
DescriptorVisibilities.PRIVATE -> Opcodes.ACC_PRIVATE
DescriptorVisibilities.PRIVATE_TO_THIS -> Opcodes.ACC_PRIVATE
DescriptorVisibilities.PROTECTED -> Opcodes.ACC_PROTECTED
JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY -> Opcodes.ACC_PROTECTED
JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE -> Opcodes.ACC_PROTECTED
DescriptorVisibilities.PUBLIC -> Opcodes.ACC_PUBLIC
DescriptorVisibilities.INTERNAL -> Opcodes.ACC_PUBLIC
DescriptorVisibilities.LOCAL -> NO_FLAG_LOCAL
JavaDescriptorVisibilities.PACKAGE_VISIBILITY -> AsmUtil.NO_FLAG_PACKAGE_PRIVATE
else -> throw IllegalStateException("$visibility is not a valid visibility in backend for ${ir2string(this)}")
}
}
@@ -180,7 +180,7 @@ private fun IrDeclarationWithVisibility.specialCaseVisibility(kind: OwnerKind?):
// if (JvmCodegenUtil.isNonIntrinsicPrivateCompanionObjectInInterface(memberDescriptor)) {
// return ACC_PUBLIC
// }
if (this is IrClass && Visibilities.isPrivate(visibility) && isCompanion && hasInterfaceParent()) {
if (this is IrClass && DescriptorVisibilities.isPrivate(visibility) && isCompanion && hasInterfaceParent()) {
// TODO: non-intrinsic
return Opcodes.ACC_PUBLIC
}
@@ -200,7 +200,7 @@ private fun IrDeclarationWithVisibility.specialCaseVisibility(kind: OwnerKind?):
}
// if (memberVisibility === Visibilities.LOCAL && memberDescriptor is CallableMemberDescriptor) {
if (visibility === Visibilities.LOCAL && this is IrFunction) {
if (visibility === DescriptorVisibilities.LOCAL && this is IrFunction) {
return Opcodes.ACC_PUBLIC
}
@@ -251,13 +251,13 @@ private fun IrDeclarationWithVisibility.specialCaseVisibility(kind: OwnerKind?):
// }
// }
// }
if (this is IrSimpleFunction && visibility === Visibilities.PROTECTED &&
if (this is IrSimpleFunction && visibility === DescriptorVisibilities.PROTECTED &&
allOverridden().any { it.parentAsClass.isJvmInterface }
) {
return Opcodes.ACC_PUBLIC
}
if (!Visibilities.isPrivate(visibility)) {
if (!DescriptorVisibilities.isPrivate(visibility)) {
return null
}
@@ -299,7 +299,7 @@ fun IrDeclarationWithVisibility.isInlineOnlyPrivateInBytecode(): Boolean =
(this is IrFunction && isInlineOnly()) || isPrivateInlineSuspend()
private fun IrDeclarationWithVisibility.isPrivateInlineSuspend(): Boolean =
this is IrFunction && isSuspend && isInline && visibility == Visibilities.PRIVATE
this is IrFunction && isSuspend && isInline && visibility == DescriptorVisibilities.PRIVATE
private fun IrDeclarationWithVisibility.isInlineOnlyPropertyAccessor(): Boolean {
if (this !is IrSimpleFunction) return false
@@ -392,11 +392,11 @@ fun IrClass.getVisibilityAccessFlagForClass(): Int {
if (kind == ClassKind.ENUM_ENTRY) {
return AsmUtil.NO_FLAG_PACKAGE_PRIVATE
}
return if (visibility === Visibilities.PUBLIC ||
visibility === Visibilities.PROTECTED ||
return if (visibility === DescriptorVisibilities.PUBLIC ||
visibility === DescriptorVisibilities.PROTECTED ||
// TODO: should be package private, but for now Kotlin's reflection can't access members of such classes
visibility === Visibilities.LOCAL ||
visibility === Visibilities.INTERNAL
visibility === DescriptorVisibilities.LOCAL ||
visibility === DescriptorVisibilities.INTERNAL
) {
Opcodes.ACC_PUBLIC
} else AsmUtil.NO_FLAG_PACKAGE_PRIVATE
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.codegen.inline.coroutines.FOR_INLINE_SUFFIX
import org.jetbrains.kotlin.config.JvmDefaultMode
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.deserialization.PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.IrBuilderWithScope
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
import org.jetbrains.kotlin.ir.types.impl.originalKotlinType
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil
import org.jetbrains.kotlin.resolve.DescriptorUtils
@@ -169,7 +169,7 @@ fun IrClass.hasJvmDefaultNoCompatibilityAnnotation(): Boolean = hasAnnotation(JV
fun IrFunction.hasPlatformDependent(): Boolean = propertyIfAccessor.hasAnnotation(PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME)
fun IrFunction.getJvmVisibilityOfDefaultArgumentStub() =
if (Visibilities.isPrivate(visibility) || isInlineOnly()) JavaVisibilities.PACKAGE_VISIBILITY else Visibilities.PUBLIC
if (DescriptorVisibilities.isPrivate(visibility) || isInlineOnly()) JavaDescriptorVisibilities.PACKAGE_VISIBILITY else DescriptorVisibilities.PUBLIC
fun IrValueParameter.isInlineParameter() =
index >= 0 && !isNoinline && (type.isFunction() || type.isSuspendFunctionTypeOrSubtype()) &&
@@ -340,7 +340,7 @@ fun IrProperty.needsAccessor(accessor: IrSimpleFunction): Boolean = when {
// @JvmField properties have no getters/setters
resolveFakeOverride()?.backingField?.hasAnnotation(JvmAbi.JVM_FIELD_ANNOTATION_FQ_NAME) == true -> false
// We do not produce default accessors for private fields
else -> accessor.origin != IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR || !Visibilities.isPrivate(accessor.visibility)
else -> accessor.origin != IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR || !DescriptorVisibilities.isPrivate(accessor.visibility)
}
val IrDeclaration.isStaticInlineClassReplacement: Boolean
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.backend.jvm.localDeclarationsPhase
import org.jetbrains.kotlin.codegen.coroutines.*
import org.jetbrains.kotlin.codegen.inline.coroutines.FOR_INLINE_SUFFIX
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.util.OperatorNameConventions
@@ -163,7 +163,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
JvmLoweredDeclarationOrigin.SUSPEND_LAMBDA,
// Since inline functions can be inlined to different package, we should generate lambdas inside these functions
// as public
if (insideInlineFunction) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
if (insideInlineFunction) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
).apply {
copyAttributes(info.reference)
copyTypeParametersFrom(info.function)
@@ -178,7 +178,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
annotations = emptyList()
)
addField(COROUTINE_LABEL_FIELD_NAME, context.irBuiltIns.intType, JavaVisibilities.PACKAGE_VISIBILITY)
addField(COROUTINE_LABEL_FIELD_NAME, context.irBuiltIns.intType, JavaDescriptorVisibilities.PACKAGE_VISIBILITY)
val receiverField = info.function.extensionReceiverParameter?.let {
assert(info.arity != 0)
@@ -188,7 +188,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
// NB extension receiver can't be crossinline
origin = LocalDeclarationsLowering.DECLARATION_ORIGIN_FIELD_FOR_CAPTURED_VALUE
type = it.type
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
}
}
@@ -201,7 +201,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
else
LocalDeclarationsLowering.DECLARATION_ORIGIN_FIELD_FOR_CAPTURED_VALUE
isFinal = info.reference.getValueArgument(it.index) != null
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
}
val fieldsForBound = parametersFields.filter { it.isFinal }
@@ -361,7 +361,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
private fun IrClass.createContinuationClassFor(
parent: IrDeclarationParent,
newOrigin: IrDeclarationOrigin,
newVisibility: Visibility
newVisibility: DescriptorVisibility
): IrClass = context.irFactory.buildClass {
name = Name.special("<Continuation>")
origin = newOrigin
@@ -382,7 +382,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
addConstructor {
isPrimary = true
returnType = defaultType
visibility = if (insideInlineFunction) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
visibility = if (insideInlineFunction) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}.also { constructor ->
for ((param, arg) in info.reference.getArguments()) {
constructor.addValueParameter(name = param.name.asString(), type = arg.type)
@@ -423,25 +423,25 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
.createContinuationClassFor(
irFunction,
JvmLoweredDeclarationOrigin.CONTINUATION_CLASS,
if (capturesCrossinline) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
if (capturesCrossinline) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
).apply {
copyTypeParametersFrom(irFunction)
val resultField = addField {
origin = JvmLoweredDeclarationOrigin.CONTINUATION_CLASS_RESULT_FIELD
name = Name.identifier(context.state.languageVersionSettings.dataFieldName())
type = context.irBuiltIns.anyNType
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
val capturedThisField = dispatchReceiverParameter?.let {
addField {
name = Name.identifier("this$0")
type = it.type
origin = InnerClassesSupport.FIELD_FOR_OUTER_THIS
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
isFinal = true
}
}
val labelField = addField(COROUTINE_LABEL_FIELD_NAME, context.irBuiltIns.intType, JavaVisibilities.PACKAGE_VISIBILITY)
val labelField = addField(COROUTINE_LABEL_FIELD_NAME, context.irBuiltIns.intType, JavaDescriptorVisibilities.PACKAGE_VISIBILITY)
addConstructorForNamedFunction(capturedThisField, capturesCrossinline)
addInvokeSuspendForNamedFunction(
irFunction,
@@ -458,7 +458,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
addConstructor {
isPrimary = true
returnType = defaultType
visibility = if (capturesCrossinline) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
visibility = if (capturesCrossinline) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}.also { constructor ->
val capturedThisParameter = capturedThisField?.let { constructor.addValueParameter(it.name.asString(), it.type) }
val completionParameterSymbol = constructor.addCompletionValueParameter()
@@ -615,7 +615,7 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
modality = view.modality
isSuspend = view.isSuspend
isInline = view.isInline
visibility = if (view.isInline) Visibilities.PRIVATE else view.visibility
visibility = if (view.isInline) DescriptorVisibilities.PRIVATE else view.visibility
origin =
if (view.isInline) JvmLoweredDeclarationOrigin.FOR_INLINE_STATE_MACHINE_TEMPLATE
else JvmLoweredDeclarationOrigin.FOR_INLINE_STATE_MACHINE_TEMPLATE_CAPTURES_CROSSINLINE
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl
import org.jetbrains.kotlin.ir.types.getClass
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.util.OperatorNameConventions
@@ -141,7 +141,7 @@ fun IrClass.buildAssertionsDisabledField(backendContext: JvmBackendContext, topL
factory.buildField {
name = Name.identifier(ASSERTIONS_DISABLED_FIELD_NAME)
origin = JvmLoweredDeclarationOrigin.GENERATED_ASSERTION_ENABLED_FIELD
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
type = backendContext.irBuiltIns.booleanType
isFinal = true
isStatic = true
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.isJvmAbstract
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.unboxInlineClass
import org.jetbrains.kotlin.codegen.AsmUtil
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
@@ -178,7 +178,7 @@ internal class BridgeLowering(val context: JvmBackendContext) : FileLoweringPass
// Only overrides may need bridges and so in particular, private and static functions do not.
// Note that this includes the static replacements for inline class functions (which are static, but have
// overriddenSymbols in order to produce correct signatures in the type mapper).
if (Visibilities.isPrivate(irFunction.visibility) || irFunction.isStatic || irFunction.overriddenSymbols.isEmpty())
if (DescriptorVisibilities.isPrivate(irFunction.visibility) || irFunction.isStatic || irFunction.overriddenSymbols.isEmpty())
return false
// None of the methods of Any have type parameters and so we will not need bridges for them.
@@ -384,7 +384,7 @@ internal class BridgeLowering(val context: JvmBackendContext) : FileLoweringPass
// Internal functions can be overridden by non-internal functions, which changes their names since the names of internal
// functions are mangled. In order to avoid mangling the name twice we reset the visibility for bridges to internal
// functions to public and use the mangled name directly.
visibility = bridge.overridden.visibility.takeUnless { it == Visibilities.INTERNAL } ?: Visibilities.PUBLIC
visibility = bridge.overridden.visibility.takeUnless { it == DescriptorVisibilities.INTERNAL } ?: DescriptorVisibilities.PUBLIC
name = Name.identifier(bridge.signature.name)
returnType = bridge.overridden.returnType.eraseTypeParameters()
isSuspend = bridge.overridden.isSuspend
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.ir.createJvmIrBuilder
import org.jetbrains.kotlin.backend.jvm.ir.irArray
import org.jetbrains.kotlin.codegen.ImplementationBodyCodegen
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addField
@@ -87,7 +87,7 @@ private class EnumClassLowering(val context: JvmBackendContext) : ClassLoweringP
private fun buildValuesField(): IrField = irClass.addField {
name = Name.identifier(ImplementationBodyCodegen.ENUM_VALUES_FIELD_NAME)
type = context.irBuiltIns.arrayClass.typeWith(irClass.defaultType)
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
origin = IrDeclarationOrigin.FIELD_FOR_ENUM_VALUES
isFinal = true
isStatic = true
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.codegen.AsmUtil
import org.jetbrains.kotlin.config.JvmAnalysisFlags
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.fileClasses.JvmFileClassInfo
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
import org.jetbrains.kotlin.fileClasses.JvmSimpleFileClassInfo
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.ir.descriptors.WrappedClassDescriptor
import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl
import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl
import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
import org.jetbrains.kotlin.psi2ir.PsiSourceManager
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
@@ -100,7 +100,7 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa
symbol = IrClassSymbolImpl(descriptor),
name = fileClassInfo.fileClassFqName.shortName(),
kind = ClassKind.CLASS,
visibility = if (!fileClassInfo.withJvmMultifileClass) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY,
visibility = if (!fileClassInfo.withJvmMultifileClass) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY,
modality = Modality.FINAL
).apply {
descriptor.bind(this)
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.irArray
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.builtins.functions.BuiltInFunctionArity
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
@@ -105,7 +105,7 @@ private class FunctionNVarargBridgeLowering(val context: JvmBackendContext) :
name = superFunction.name
returnType = context.irBuiltIns.anyNType
modality = Modality.FINAL
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
origin = IrDeclarationOrigin.BRIDGE
}.apply {
overriddenSymbols += superFunction.symbol
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.ir.*
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.InlineClassAbi
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
@@ -168,7 +168,7 @@ internal class FunctionReferenceLowering(private val context: JvmBackendContext)
private val functionReferenceClass = context.irFactory.buildClass {
setSourceRange(irFunctionReference)
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
// A callable reference results in a synthetic class, while a lambda is not synthetic.
// We don't produce GENERATED_SAM_IMPLEMENTATION, which is always synthetic.
origin = if (isLambda) JvmLoweredDeclarationOrigin.LAMBDA_IMPL else JvmLoweredDeclarationOrigin.FUNCTION_REFERENCE_IMPL
@@ -17,9 +17,9 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.codegen.fileParent
import org.jetbrains.kotlin.config.JvmAnalysisFlags
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
import org.jetbrains.kotlin.ir.*
import org.jetbrains.kotlin.ir.builders.*
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.inline.INLINE_ONLY_ANNOTATION_FQ_NAME
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
@@ -123,7 +123,7 @@ private fun generateMultifileFacades(
superTypes += superClass.typeWith()
addConstructor {
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
isPrimary = true
}.also { constructor ->
constructor.body = context.createIrBuilder(constructor.symbol).irBlockBody {
@@ -163,7 +163,7 @@ private fun modifyMultifilePartsForHierarchy(context: JvmBackendContext, unsorte
for ((klass, superClass) in parts.zip(superClasses)) {
klass.modality = Modality.OPEN
klass.visibility = JavaVisibilities.PACKAGE_VISIBILITY
klass.visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
klass.superTypes = listOf(superClass.typeWith())
@@ -191,7 +191,7 @@ private fun moveFieldsOfConstProperties(partClass: IrClass, facadeClass: IrClass
private fun IrField.shouldMoveToFacade(): Boolean {
val property = correspondingPropertySymbol?.owner
return property != null && property.isConst && !Visibilities.isPrivate(visibility)
return property != null && property.isConst && !DescriptorVisibilities.isPrivate(visibility)
}
private fun IrSimpleFunction.createMultifileDelegateIfNeeded(
@@ -201,7 +201,7 @@ private fun IrSimpleFunction.createMultifileDelegateIfNeeded(
): IrSimpleFunction? {
val target = this
if (Visibilities.isPrivate(visibility) ||
if (DescriptorVisibilities.isPrivate(visibility) ||
name == StaticInitializersLowering.clinitName ||
origin == JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
) return null
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.backend.jvm.codegen.isJvmInterface
import org.jetbrains.kotlin.backend.jvm.ir.*
import org.jetbrains.kotlin.config.JvmDefaultMode
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.deserialization.PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.builders.irBlockBody
@@ -250,7 +250,7 @@ internal fun IrSimpleFunction.findInterfaceImplementation(jvmDefaultMode: JvmDef
}
if (!implementation.hasInterfaceParent()
|| Visibilities.isPrivate(implementation.visibility)
|| DescriptorVisibilities.isPrivate(implementation.visibility)
|| implementation.isDefinitelyNotDefaultImplsMethod(jvmDefaultMode)
|| implementation.isMethodOfAny()
) {
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.IrInlineReferenceLocator
import org.jetbrains.kotlin.backend.jvm.ir.createJvmIrBuilder
import org.jetbrains.kotlin.backend.jvm.ir.irArray
import org.jetbrains.kotlin.codegen.AsmUtil.BOUND_REFERENCE_RECEIVER
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
@@ -80,7 +80,7 @@ internal class InlineCallableReferenceToLambdaPhase(val context: JvmBackendConte
setSourceRange(expression)
origin = IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA
name = Name.identifier("stub_for_inline")
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
returnType = field.type
isSuspend = false
}.apply {
@@ -140,7 +140,7 @@ internal class InlineCallableReferenceToLambdaPhase(val context: JvmBackendConte
setSourceRange(expression)
origin = IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA
name = Name.identifier("stub_for_inlining")
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
returnType = referencedFunction.returnType
isSuspend = referencedFunction.isSuspend
}.apply {
@@ -197,4 +197,4 @@ internal class InlineCallableReferenceToLambdaPhase(val context: JvmBackendConte
}
}
}
}
}
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.backend.jvm.codegen.isJvmInterface
import org.jetbrains.kotlin.backend.jvm.ir.*
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrCall
import org.jetbrains.kotlin.ir.expressions.IrExpression
@@ -104,7 +104,7 @@ internal class InterfaceLowering(val context: JvmBackendContext) : IrElementTran
val implementation = function.resolveFakeOverride() ?: error("No single implementation found for: ${function.render()}")
when {
Visibilities.isPrivate(implementation.visibility) || implementation.isMethodOfAny() ->
DescriptorVisibilities.isPrivate(implementation.visibility) || implementation.isMethodOfAny() ->
continue
!function.isDefinitelyNotDefaultImplsMethod(jvmDefaultMode, implementation) -> {
val defaultImpl = createDefaultImpl(function)
@@ -123,7 +123,7 @@ internal class InterfaceLowering(val context: JvmBackendContext) : IrElementTran
* 3) Private methods (not compiled to JVM defaults), default parameter dispatchers (not compiled to JVM defaults)
* and $annotation methods are always moved without bridges
*/
(Visibilities.isPrivate(function.visibility) && !function.isCompiledToJvmDefault(jvmDefaultMode))
(DescriptorVisibilities.isPrivate(function.visibility) && !function.isCompiledToJvmDefault(jvmDefaultMode))
|| (function.origin == IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER && !function.isCompiledToJvmDefault(jvmDefaultMode))
|| function.origin == JvmLoweredDeclarationOrigin.SYNTHETIC_METHOD_FOR_PROPERTY_ANNOTATIONS -> {
val defaultImpl = createDefaultImpl(function)
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
import org.jetbrains.kotlin.ir.builders.irBlockBody
import org.jetbrains.kotlin.ir.builders.irDelegatingConstructorCall
@@ -35,11 +35,11 @@ internal val jvmDefaultConstructorPhase = makeIrFilePhase(
private class JvmDefaultConstructorLowering(val context: JvmBackendContext) : ClassLoweringPass {
override fun lower(irClass: IrClass) {
if (irClass.kind != ClassKind.CLASS || irClass.visibility == Visibilities.LOCAL || irClass.isInline || irClass.isInner)
if (irClass.kind != ClassKind.CLASS || irClass.visibility == DescriptorVisibilities.LOCAL || irClass.isInline || irClass.isInner)
return
val primaryConstructor = irClass.constructors.firstOrNull { it.isPrimary } ?: return
if (Visibilities.isPrivate(primaryConstructor.visibility))
if (DescriptorVisibilities.isPrivate(primaryConstructor.visibility))
return
if (primaryConstructor.valueParameters.isEmpty() || !primaryConstructor.valueParameters.all { it.hasDefaultValue() })
@@ -62,4 +62,4 @@ private class JvmDefaultConstructorLowering(val context: JvmBackendContext) : Cl
}
}
}
}
}
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.*
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
@@ -468,7 +468,7 @@ private class JvmInlineClassLowering(private val context: JvmBackendContext) : F
// Add the default primary constructor
irClass.addConstructor {
updateFrom(irConstructor)
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
origin = JvmLoweredDeclarationOrigin.SYNTHETIC_INLINE_CLASS_MEMBER
returnType = irConstructor.returnType
}.apply {
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
import org.jetbrains.kotlin.ir.util.defaultType
import org.jetbrains.kotlin.ir.util.dump
import org.jetbrains.kotlin.ir.util.parentAsClass
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
class JvmInnerClassesSupport(private val irFactory: IrFactory) : InnerClassesSupport {
@@ -36,7 +36,7 @@ class JvmInnerClassesSupport(private val irFactory: IrFactory) : InnerClassesSup
name = Name.identifier("this$0")
type = innerClass.parentAsClass.defaultType
origin = InnerClassesSupport.FIELD_FOR_OUTER_THIS
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
isFinal = true
}.apply {
parent = innerClass
@@ -10,13 +10,13 @@ import org.jetbrains.kotlin.backend.common.lower.SingleAbstractMethodLowering
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.backend.jvm.ir.erasedUpperBound
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
import org.jetbrains.kotlin.ir.expressions.IrTypeOperatorCall
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.getClass
import org.jetbrains.kotlin.ir.util.defaultType
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
internal val singleAbstractMethodPhase = makeIrFilePhase(
::JvmSingleAbstractMethodLowering,
@@ -26,7 +26,7 @@ internal val singleAbstractMethodPhase = makeIrFilePhase(
private class JvmSingleAbstractMethodLowering(context: JvmBackendContext) : SingleAbstractMethodLowering(context) {
override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>) =
if (inInlineFunctionScope) Visibilities.PUBLIC else JavaVisibilities.PACKAGE_VISIBILITY
if (inInlineFunctionScope) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
override fun getSuperTypeForWrapper(typeOperand: IrType): IrType =
typeOperand.erasedUpperBound.defaultType
@@ -35,4 +35,4 @@ private class JvmSingleAbstractMethodLowering(context: JvmBackendContext) : Sing
get() = getClass()?.origin != IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB
override val IrType.needEqualsHashCodeMethods get() = isKotlinFunInterface
}
}
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.copyCorrespondingPropertyFrom
import org.jetbrains.kotlin.backend.jvm.ir.isInCurrentModule
import org.jetbrains.kotlin.backend.jvm.ir.replaceThisByStaticReference
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.builders.irCall
@@ -102,7 +102,7 @@ private class CompanionObjectJvmStaticLowering(val context: JvmBackendContext) :
modality = if (isInterface) Modality.OPEN else target.modality
// Since we already mangle the name above we need to reset internal visibilities to public in order
// to avoid mangling the same name twice.
visibility = if (target.visibility == Visibilities.INTERNAL) Visibilities.PUBLIC else target.visibility
visibility = if (target.visibility == DescriptorVisibilities.INTERNAL) DescriptorVisibilities.PUBLIC else target.visibility
isSuspend = target.isSuspend
}.apply {
copyTypeParametersFrom(target)
@@ -16,8 +16,8 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.ir.getJvmNameFromAnnotation
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.*
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.ir.types.*
import org.jetbrains.kotlin.ir.util.constructors
import org.jetbrains.kotlin.ir.util.functions
import org.jetbrains.kotlin.ir.util.isFileClass
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.Variance
@@ -122,7 +122,7 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
private fun IrClass.generateMainMethod(makeBody: IrBlockBodyBuilder.(IrValueParameter) -> Unit) =
addFunction {
name = Name.identifier("main")
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
returnType = context.irBuiltIns.unitType
modality = Modality.FINAL
this.origin = JvmLoweredDeclarationOrigin.GENERATED_EXTENDED_MAIN
@@ -139,7 +139,7 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
return irBlock {
val wrapperConstructor = backendContext.irFactory.buildClass {
name = Name.special("<main-wrapper>")
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
modality = Modality.FINAL
origin = JvmLoweredDeclarationOrigin.FUNCTION_REFERENCE_IMPL
}.let { wrapper ->
@@ -159,7 +159,7 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
wrapper.addField {
name = Name.identifier("args")
type = stringArrayType
visibility = Visibilities.PRIVATE
visibility = DescriptorVisibilities.PRIVATE
origin = LocalDeclarationsLowering.DECLARATION_ORIGIN_FIELD_FOR_CAPTURED_VALUE
}
}
@@ -179,7 +179,7 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
wrapper.addConstructor {
isPrimary = true
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}.also { constructor ->
val superClassConstructor = lambdaSuperClass.owner.constructors.single()
val param = args?.let { constructor.addValueParameter("args", stringArrayType) }
@@ -211,4 +211,4 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
}
}
}
}
}
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.backend.jvm.ir.replaceThisByStaticReference
import org.jetbrains.kotlin.backend.jvm.propertiesPhase
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.addProperty
import org.jetbrains.kotlin.ir.builders.declarations.buildField
import org.jetbrains.kotlin.ir.declarations.*
@@ -92,7 +92,7 @@ private class MoveOrCopyCompanionObjectFieldsLowering(val context: JvmBackendCon
}
private val IrProperty.hasPublicVisibility: Boolean
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.PROTECTED
get() = !DescriptorVisibilities.isPrivate(visibility) && visibility != DescriptorVisibilities.PROTECTED
private fun makeAnonymousInitializerStatic(oldInitializer: IrAnonymousInitializer, newParent: IrClass) =
with(oldInitializer) {
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.irCall
import org.jetbrains.kotlin.ir.builders.irExprBody
@@ -69,7 +69,7 @@ private class ObjectClassLowering(val context: JvmBackendContext) : IrElementTra
// Mark object instance field as deprecated if the object visibility is private or protected,
// and ProperVisibilityForCompanionObjectInstanceField language feature is not enabled.
if (!context.state.languageVersionSettings.supportsFeature(LanguageFeature.ProperVisibilityForCompanionObjectInstanceField) &&
(irClass.visibility == Visibilities.PRIVATE || irClass.visibility == Visibilities.PROTECTED)
(irClass.visibility == DescriptorVisibilities.PRIVATE || irClass.visibility == DescriptorVisibilities.PROTECTED)
) {
context.createIrBuilder(irClass.symbol).run {
publicInstanceField.annotations +=
@@ -81,4 +81,4 @@ private class ObjectClassLowering(val context: JvmBackendContext) : IrElementTra
(publicInstanceField.parent as IrDeclarationContainer).declarations.add(0, publicInstanceField)
}
}
}
}
@@ -23,8 +23,8 @@ import org.jetbrains.kotlin.backend.jvm.lower.FunctionReferenceLowering.Companio
import org.jetbrains.kotlin.backend.jvm.lower.FunctionReferenceLowering.Companion.kClassToJavaClass
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.InlineClassAbi
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.isInlineClassFieldGetter
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
@@ -121,7 +121,7 @@ internal class PropertyReferenceLowering(val context: JvmBackendContext) : Class
val needsDummySignature =
getter.owner.correspondingPropertySymbol?.owner?.needsAccessor(getter.owner) == false ||
// Internal underlying vals of inline classes have no getter method
getter.owner.isInlineClassFieldGetter && getter.owner.visibility == Visibilities.INTERNAL
getter.owner.isInlineClassFieldGetter && getter.owner.visibility == DescriptorVisibilities.INTERNAL
putValueArgument(
0,
@@ -199,7 +199,7 @@ internal class PropertyReferenceLowering(val context: JvmBackendContext) : Class
origin = JvmLoweredDeclarationOrigin.GENERATED_PROPERTY_REFERENCE
isFinal = true
isStatic = true
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
var localPropertiesInClass = 0
@@ -283,7 +283,7 @@ internal class PropertyReferenceLowering(val context: JvmBackendContext) : Class
setSourceRange(expression)
name = SpecialNames.NO_NAME_PROVIDED
origin = JvmLoweredDeclarationOrigin.GENERATED_PROPERTY_REFERENCE
visibility = Visibilities.LOCAL
visibility = DescriptorVisibilities.LOCAL
}.apply {
parent = irClass
superTypes = listOf(superClass.defaultType)
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.ir.declarations.IrField
import org.jetbrains.kotlin.ir.expressions.IrSetField
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.Name
class StaticInitializersLowering(override val context: JvmBackendContext) : InitializersLoweringBase(context), ClassLoweringPass {
@@ -43,7 +43,7 @@ class StaticInitializersLowering(override val context: JvmBackendContext) : Init
// TODO: mark as synthesized
origin = JvmLoweredDeclarationOrigin.CLASS_STATIC_INITIALIZER
returnType = context.irBuiltIns.unitType
visibility = JavaVisibilities.PACKAGE_VISIBILITY
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}.apply {
body = IrBlockBodyImpl(irClass.startOffset, irClass.endOffset, staticInitializerStatements).patchDeclarationParents(this)
}
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.declarations.buildField
@@ -66,7 +66,7 @@ class StaticLambdaLowering(val backendContext: JvmBackendContext) : FileLowering
origin = JvmLoweredDeclarationOrigin.FIELD_FOR_STATIC_LAMBDA_INSTANCE
isFinal = true
isStatic = true
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
}.apply {
parent = lambdaClass
}
@@ -17,8 +17,8 @@ import org.jetbrains.kotlin.backend.jvm.ir.IrInlineReferenceLocator
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.hasMangledParameters
import org.jetbrains.kotlin.codegen.syntheticAccessorToSuperSuffix
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.types.*
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -187,7 +187,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
override fun visitConstructor(declaration: IrConstructor): IrStatement {
if (declaration.isOrShouldBeHidden) {
pendingAccessorsToAdd.add(handleHiddenConstructor(declaration))
declaration.visibility = Visibilities.PRIVATE
declaration.visibility = DescriptorVisibilities.PRIVATE
}
return super.visitConstructor(declaration)
@@ -212,7 +212,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
private val IrConstructor.isOrShouldBeHidden: Boolean
get() = this in context.hiddenConstructors || (
!Visibilities.isPrivate(visibility) && !constructedClass.isInline && hasMangledParameters &&
!DescriptorVisibilities.isPrivate(visibility) && !constructedClass.isInline && hasMangledParameters &&
origin != IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER &&
origin != JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR &&
origin != JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR_FOR_HIDDEN_CONSTRUCTOR)
@@ -240,7 +240,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
// In case of Java `protected static`, access could be done from a public inline function in the same package,
// or a subclass of the Java class. Both cases require an accessor, which we cannot add to the Java class.
private fun IrDeclarationWithVisibility.accessorParent(parent: IrDeclarationParent = this.parent) =
if (visibility == JavaVisibilities.PROTECTED_STATIC_VISIBILITY) {
if (visibility == JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY) {
val classes = allScopes.map { it.irElement }.filterIsInstance<IrClass>()
val companions = classes.mapNotNull { it.companionObject() }.filterIsInstance<IrClass>()
val objectsInScope =
@@ -258,7 +258,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
return factory.buildConstructor {
origin = originForConstructorAccessor
name = source.name
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
}.also { accessor ->
accessor.parent = source.parent
@@ -294,7 +294,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
return factory.buildFun {
origin = JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
name = source.accessorName(expression.superQualifierSymbol)
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
modality = if (parent is IrClass && parent.isJvmInterface) Modality.OPEN else Modality.FINAL
isSuspend = source.isSuspend // synthetic accessors of suspend functions are handled in codegen
}.also { accessor ->
@@ -326,7 +326,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
context.irFactory.buildFun {
origin = JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
name = fieldSymbol.owner.accessorNameForGetter()
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
modality = Modality.FINAL
returnType = fieldSymbol.owner.type
}.also { accessor ->
@@ -362,7 +362,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
context.irFactory.buildFun {
origin = JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
name = fieldSymbol.owner.accessorNameForSetter()
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
modality = Modality.FINAL
returnType = context.irBuiltIns.unitType
}.also { accessor ->
@@ -520,7 +520,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
// The only function accessors placed on interfaces are for private functions and JvmDefault implementations.
// The two cannot clash.
parentAsClass.isJvmInterface -> if (!Visibilities.isPrivate(visibility)) "\$jd" else ""
parentAsClass.isJvmInterface -> if (!DescriptorVisibilities.isPrivate(visibility)) "\$jd" else ""
// Accessor for _s_uper-qualified call
superQualifier != null -> "\$s" + superQualifier.owner.syntheticAccessorToSuperSuffix()
@@ -555,13 +555,13 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
return "p" + if (isStatic) "\$s" + parentAsClass.syntheticAccessorToSuperSuffix() else ""
}
private val Visibility.isPrivate
get() = Visibilities.isPrivate(this)
private val DescriptorVisibility.isPrivate
get() = DescriptorVisibilities.isPrivate(this)
private val Visibility.isProtected
get() = this == Visibilities.PROTECTED ||
this == JavaVisibilities.PROTECTED_AND_PACKAGE ||
this == JavaVisibilities.PROTECTED_STATIC_VISIBILITY
private val DescriptorVisibility.isProtected
get() = this == DescriptorVisibilities.PROTECTED ||
this == JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE ||
this == JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
private fun IrSymbol.isAccessible(withSuper: Boolean, thisObjReference: IrClassSymbol?): Boolean {
/// We assume that IR code that reaches us has been checked for correctness at the frontend.
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.codegen.isJvmInterface
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.addDispatchReceiver
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
import org.jetbrains.kotlin.ir.builders.declarations.addTypeParameter
@@ -101,7 +101,7 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
// This is an explicit override of a method defined in `kotlin.collections.AbstractCollection`
// or `java.util.Collection`. From here on, the frontend will check the existence of implementations;
// we just need to match visibility in the former case to the latter.
existing.visibility = Visibilities.PUBLIC
existing.visibility = DescriptorVisibilities.PUBLIC
return
}
if (indirectSubclass) {
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.isStaticInlineClassReplacement
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.InlineClassAbi.mangledNameFor
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.builders.declarations.buildProperty
@@ -44,7 +44,7 @@ class MemoizedInlineClassReplacements(private val mangleReturnTypes: Boolean, pr
when {
// Don't mangle anonymous or synthetic functions
it.origin == IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA ||
(it.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR && it.visibility == Visibilities.LOCAL) ||
(it.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR && it.visibility == DescriptorVisibilities.LOCAL) ||
it.isStaticInlineClassReplacement ||
it.origin.isSynthetic -> null
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.wasm.WasmCompilerResult
import org.jetbrains.kotlin.backend.wasm.ast.WasmExport
import org.jetbrains.kotlin.backend.wasm.ast.WasmModule
import org.jetbrains.kotlin.backend.wasm.ast.wasmModuleToWat
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.jsAssignment
import org.jetbrains.kotlin.ir.backend.js.utils.sanitizeName
import org.jetbrains.kotlin.ir.declarations.*
@@ -58,7 +58,7 @@ class IrModuleToWasm(private val backendContext: WasmBackendContext) {
if (declaration !is IrDeclarationWithVisibility ||
declaration !is IrDeclarationWithName ||
declaration !is IrSimpleFunction ||
declaration.visibility != Visibilities.PUBLIC
declaration.visibility != DescriptorVisibilities.PUBLIC
) {
return null
}
@@ -388,7 +388,7 @@ private fun StatementGenerator.createFunctionForSuspendConversion(
IrDeclarationOrigin.ADAPTER_FOR_SUSPEND_CONVERSION,
irAdapterSymbol,
Name.identifier(scope.inventNameForTemporary("suspendConversion")),
Visibilities.LOCAL, Modality.FINAL,
DescriptorVisibilities.LOCAL, Modality.FINAL,
irSuspendFunReturnType,
isInline = false, isExternal = false, isTailrec = false,
isSuspend = true,
@@ -79,7 +79,7 @@ class ClassGenerator(
}
}
fun generateClass(ktClassOrObject: KtPureClassOrObject, visibility_: Visibility? = null): IrClass {
fun generateClass(ktClassOrObject: KtPureClassOrObject, visibility_: DescriptorVisibility? = null): IrClass {
val classDescriptor = ktClassOrObject.findClassDescriptor(this.context.bindingContext)
val startOffset = ktClassOrObject.getStartOffsetOfClassDeclarationOrNull() ?: ktClassOrObject.pureStartOffset
val endOffset = ktClassOrObject.pureEndOffset
@@ -169,7 +169,7 @@ class ClassGenerator(
getContributedDescriptors()
.filterIsInstance<FunctionDescriptor>()
.filter {
Visibilities.isVisibleIgnoringReceiver(it, classDescriptor)
DescriptorVisibilities.isVisibleIgnoringReceiver(it, classDescriptor)
}
.sortedByRenderer()
.forEach { parentStaticMember ->
@@ -505,7 +505,7 @@ class ClassGenerator(
}
if (ktEnumEntry.hasMemberDeclarations()) {
irEnumEntry.correspondingClass = generateClass(ktEnumEntry, Visibilities.PRIVATE)
irEnumEntry.correspondingClass = generateClass(ktEnumEntry, DescriptorVisibilities.PRIVATE)
}
}
@@ -57,7 +57,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
}
fun generateFakeOverrideFunction(functionDescriptor: FunctionDescriptor, ktElement: KtPureElement): IrSimpleFunction? =
functionDescriptor.takeIf { it.visibility != Visibilities.INVISIBLE_FAKE }
functionDescriptor.takeIf { it.visibility != DescriptorVisibilities.INVISIBLE_FAKE }
?.let {
declareSimpleFunctionInner(it, ktElement, IrDeclarationOrigin.FAKE_OVERRIDE).buildWithScope { irFunction ->
generateFunctionParameterDeclarationsAndReturnType(irFunction, ktElement, null)
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.psi2ir.generators
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.util.StubGeneratorExtensions
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.KotlinType
@@ -26,7 +26,7 @@ open class GeneratorExtensions : StubGeneratorExtensions() {
companion object Instance : SamConversion()
}
open fun computeFieldVisibility(descriptor: PropertyDescriptor): Visibility? = null
open fun computeFieldVisibility(descriptor: PropertyDescriptor): DescriptorVisibility? = null
open fun getParentClassStaticScope(descriptor: ClassDescriptor): MemberScope? = null
}
@@ -17,8 +17,8 @@
package org.jetbrains.kotlin.psi2ir.generators
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
@@ -138,7 +138,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
}
fun generateFakeOverrideProperty(propertyDescriptor: PropertyDescriptor, ktElement: KtPureElement): IrProperty? {
if (propertyDescriptor.visibility == Visibilities.INVISIBLE_FAKE) return null
if (propertyDescriptor.visibility == DescriptorVisibilities.INVISIBLE_FAKE) return null
val startOffset = ktElement.pureStartOffsetOrUndefined
val endOffset = ktElement.pureEndOffsetOrUndefined
@@ -170,15 +170,15 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
return variableDescriptor as? PropertyDescriptor ?: TODO("not a property: $variableDescriptor")
}
private val Visibility.admitsFakeOverride: Boolean
get() = !Visibilities.isPrivate(this) && this != Visibilities.INVISIBLE_FAKE
private val DescriptorVisibility.admitsFakeOverride: Boolean
get() = !DescriptorVisibilities.isPrivate(this) && this != DescriptorVisibilities.INVISIBLE_FAKE
private val PropertyDescriptor.fieldVisibility: Visibility
private val PropertyDescriptor.fieldVisibility: DescriptorVisibility
get() = declarationGenerator.context.extensions.computeFieldVisibility(this)
?: when {
isLateInit -> setter?.visibility ?: visibility
isConst -> visibility
else -> Visibilities.PRIVATE
else -> DescriptorVisibilities.PRIVATE
}
}
@@ -335,7 +335,7 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St
IrDeclarationOrigin.ADAPTER_FOR_CALLABLE_REFERENCE,
irAdapterSymbol,
adapteeDescriptor.name,
Visibilities.LOCAL,
DescriptorVisibilities.LOCAL,
Modality.FINAL,
ktExpectedReturnType.toIrType(),
isInline = adapteeDescriptor.isInline, // TODO ?
@@ -519,4 +519,4 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St
arguments.last().type,
suspendFunction
)
}
}
@@ -56,7 +56,7 @@ class SyntheticDeclarationsGenerator(context: GeneratorContext) : DeclarationDes
override fun visitFunctionDescriptor(descriptor: FunctionDescriptor, data: IrDeclarationContainer?) {
require(data != null)
if (descriptor.visibility != Visibilities.INVISIBLE_FAKE) {
if (descriptor.visibility != DescriptorVisibilities.INVISIBLE_FAKE) {
symbolTable.declareSimpleFunctionIfNotExists(descriptor) {
createFunctionStub(descriptor, it).insertDeclaration(data)
}
@@ -140,7 +140,7 @@ class SyntheticDeclarationsGenerator(context: GeneratorContext) : DeclarationDes
override fun visitPropertyDescriptor(descriptor: PropertyDescriptor, data: IrDeclarationContainer?) {
require(data != null)
if (descriptor.visibility != Visibilities.INVISIBLE_FAKE) {
if (descriptor.visibility != DescriptorVisibilities.INVISIBLE_FAKE) {
symbolTable.declarePropertyIfNotExists(descriptor) {
createPropertyStub(descriptor, it).insertDeclaration(data).also { p ->
descriptor.getter?.let { g -> p.getter = declareAccessor(g, p) }
@@ -165,4 +165,4 @@ class SyntheticDeclarationsGenerator(context: GeneratorContext) : DeclarationDes
override fun visitReceiverParameterDescriptor(descriptor: ReceiverParameterDescriptor, data: IrDeclarationContainer?) {
error("Unreachable execution $descriptor")
}
}
}
@@ -25,22 +25,22 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
class IrClassImpl(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
override val name: Name,
override val kind: ClassKind,
override var visibility: Visibility,
override var modality: Modality,
override val isCompanion: Boolean = false,
override val isInner: Boolean = false,
override val isData: Boolean = false,
override val isExternal: Boolean = false,
override val isInline: Boolean = false,
override val isExpect: Boolean = false,
override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
override val name: Name,
override val kind: ClassKind,
override var visibility: DescriptorVisibility,
override var modality: Modality,
override val isCompanion: Boolean = false,
override val isInner: Boolean = false,
override val isData: Boolean = false,
override val isExternal: Boolean = false,
override val isInline: Boolean = false,
override val isExpect: Boolean = false,
override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE
) : IrClass() {
init {
symbol.bind(this)
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
@@ -29,18 +29,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
class IrConstructorImpl(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val name: Name,
override var visibility: Visibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val name: Name,
override var visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null,
) : IrConstructor() {
init {
symbol.bind(this)
@@ -30,22 +30,22 @@ object IrFactoryImpl : IrFactory {
IrAnonymousInitializerImpl(startOffset, endOffset, origin, symbol, isStatic)
override fun createClass(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: Visibility,
modality: Modality,
isCompanion: Boolean,
isInner: Boolean,
isData: Boolean,
isExternal: Boolean,
isInline: Boolean,
isExpect: Boolean,
isFun: Boolean,
source: SourceElement,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: DescriptorVisibility,
modality: Modality,
isCompanion: Boolean,
isInner: Boolean,
isData: Boolean,
isExternal: Boolean,
isInline: Boolean,
isExpect: Boolean,
isFun: Boolean,
source: SourceElement,
): IrClass =
IrClassImpl(
startOffset, endOffset, origin, symbol, name, kind, visibility, modality,
@@ -53,18 +53,18 @@ object IrFactoryImpl : IrFactory {
)
override fun createConstructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: Visibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: DescriptorVisibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource?,
): IrConstructor =
IrConstructorImpl(
startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect,
@@ -88,37 +88,37 @@ object IrFactoryImpl : IrFactory {
IrErrorDeclarationImpl(startOffset, endOffset, descriptor)
override fun createField(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: Visibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: DescriptorVisibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
): IrField =
IrFieldImpl(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic)
override fun createFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
): IrSimpleFunction =
IrFunctionImpl(
startOffset, endOffset, origin, symbol, name, visibility, modality, returnType,
@@ -127,20 +127,20 @@ object IrFactoryImpl : IrFactory {
)
override fun createFakeOverrideFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
): IrSimpleFunction =
IrFakeOverrideFunctionImpl(
startOffset, endOffset, origin, name, visibility, modality, returnType,
@@ -159,21 +159,21 @@ object IrFactoryImpl : IrFactory {
IrLocalDelegatedPropertyImpl(startOffset, endOffset, origin, symbol, name, type, isVar)
override fun createProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
): IrProperty =
IrPropertyImpl(
startOffset, endOffset, origin, symbol, name, visibility, modality,
@@ -182,18 +182,18 @@ object IrFactoryImpl : IrFactory {
)
override fun createFakeOverrideProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
): IrProperty =
IrFakeOverridePropertyImpl(
startOffset, endOffset, origin, name, visibility, modality,
@@ -201,14 +201,14 @@ object IrFactoryImpl : IrFactory {
)
override fun createTypeAlias(
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: Visibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: DescriptorVisibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
): IrTypeAlias =
IrTypeAliasImpl(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin)
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -28,16 +28,16 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
class IrFieldImpl(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
override val name: Name,
override val type: IrType,
override var visibility: Visibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
override val name: Name,
override val type: IrType,
override var visibility: DescriptorVisibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean,
) : IrField() {
init {
symbol.bind(this)
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.WrappedSimpleFunctionDescriptor
@@ -21,20 +21,20 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
abstract class IrFunctionCommonImpl(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: Visibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
) : IrSimpleFunction() {
override val factory: IrFactory
get() = IrFactoryImpl
@@ -68,23 +68,23 @@ abstract class IrFunctionCommonImpl(
}
class IrFunctionImpl(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
override val modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: DescriptorVisibility,
override val modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
) : IrFunctionCommonImpl(
startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -100,20 +100,20 @@ class IrFunctionImpl(
}
class IrFakeOverrideFunctionImpl(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
override var visibility: Visibility,
override var modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
override var visibility: DescriptorVisibility,
override var modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
) : IrFunctionCommonImpl(
startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.WrappedPropertyDescriptor
@@ -28,18 +28,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
abstract class IrPropertyCommonImpl(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: Visibility,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: DescriptorVisibility,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
) : IrProperty() {
override val factory: IrFactory
get() = IrFactoryImpl
@@ -59,21 +59,21 @@ abstract class IrPropertyCommonImpl(
}
class IrPropertyImpl(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
name: Name,
visibility: Visibility,
override val modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
name: Name,
visibility: DescriptorVisibility,
override val modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource
@@ -88,18 +88,18 @@ class IrPropertyImpl(
}
class IrFakeOverridePropertyImpl(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
override var modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
override var modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource = null,
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -15,14 +15,14 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
class IrTypeAliasImpl(
override val startOffset: Int,
override val endOffset: Int,
override val symbol: IrTypeAliasSymbol,
override val name: Name,
override var visibility: Visibility,
override val expandedType: IrType,
override val isActual: Boolean,
override var origin: IrDeclarationOrigin
override val startOffset: Int,
override val endOffset: Int,
override val symbol: IrTypeAliasSymbol,
override val name: Name,
override var visibility: DescriptorVisibility,
override val expandedType: IrType,
override val isActual: Boolean,
override var origin: IrDeclarationOrigin
) : IrTypeAlias() {
init {
symbol.bind(this)
@@ -28,22 +28,22 @@ import org.jetbrains.kotlin.name.Name
import java.util.*
internal class PersistentIrClass(
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
override val name: Name,
override val kind: ClassKind,
visibility: Visibility,
modality: Modality,
override val isCompanion: Boolean = false,
override val isInner: Boolean = false,
override val isData: Boolean = false,
override val isExternal: Boolean = false,
override val isInline: Boolean = false,
override val isExpect: Boolean = false,
override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
override val name: Name,
override val kind: ClassKind,
visibility: DescriptorVisibility,
modality: Modality,
override val isCompanion: Boolean = false,
override val isInner: Boolean = false,
override val isData: Boolean = false,
override val isExternal: Boolean = false,
override val isInline: Boolean = false,
override val isExpect: Boolean = false,
override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE
) : IrClass(),
PersistentIrDeclarationBase<ClassCarrier>,
ClassCarrier {
@@ -66,9 +66,9 @@ internal class PersistentIrClass(
override val descriptor: ClassDescriptor
get() = symbol.descriptor
override var visibilityField: Visibility = visibility
override var visibilityField: DescriptorVisibility = visibility
override var visibility: Visibility
override var visibility: DescriptorVisibility
get() = getCarrier().visibilityField
set(v) {
if (visibility !== v) {
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
@@ -31,18 +31,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal class PersistentIrConstructor(
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val name: Name,
visibility: Visibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val name: Name,
visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?
) : IrConstructor(),
PersistentIrDeclarationBase<ConstructorCarrier>,
ConstructorCarrier {
@@ -142,9 +142,9 @@ internal class PersistentIrConstructor(
}
}
override var visibilityField: Visibility = visibility
override var visibilityField: DescriptorVisibility = visibility
override var visibility: Visibility
override var visibility: DescriptorVisibility
get() = getCarrier().visibilityField
set(v) {
if (visibility !== v) {
@@ -30,22 +30,22 @@ object PersistentIrFactory : IrFactory {
PersistentIrAnonymousInitializer(startOffset, endOffset, origin, symbol, isStatic)
override fun createClass(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: Visibility,
modality: Modality,
isCompanion: Boolean,
isInner: Boolean,
isData: Boolean,
isExternal: Boolean,
isInline: Boolean,
isExpect: Boolean,
isFun: Boolean,
source: SourceElement,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: DescriptorVisibility,
modality: Modality,
isCompanion: Boolean,
isInner: Boolean,
isData: Boolean,
isExternal: Boolean,
isInline: Boolean,
isExpect: Boolean,
isFun: Boolean,
source: SourceElement,
): IrClass =
PersistentIrClass(
startOffset, endOffset, origin, symbol, name, kind, visibility, modality,
@@ -53,18 +53,18 @@ object PersistentIrFactory : IrFactory {
)
override fun createConstructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: Visibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: DescriptorVisibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource?,
): IrConstructor =
PersistentIrConstructor(
startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect,
@@ -88,37 +88,37 @@ object PersistentIrFactory : IrFactory {
PersistentIrErrorDeclaration(startOffset, endOffset, descriptor)
override fun createField(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: Visibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: DescriptorVisibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
): IrField =
PersistentIrField(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic)
override fun createFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
): IrSimpleFunction =
PersistentIrFunction(
startOffset, endOffset, origin, symbol, name, visibility, modality, returnType,
@@ -127,20 +127,20 @@ object PersistentIrFactory : IrFactory {
)
override fun createFakeOverrideFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
): IrSimpleFunction =
PersistentIrFakeOverrideFunction(
startOffset, endOffset, origin, name, visibility, modality, returnType,
@@ -161,21 +161,21 @@ object PersistentIrFactory : IrFactory {
)
override fun createProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?,
): IrProperty =
PersistentIrProperty(
startOffset, endOffset, origin, symbol, name, visibility, modality,
@@ -184,18 +184,18 @@ object PersistentIrFactory : IrFactory {
)
override fun createFakeOverrideProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
): IrProperty =
PersistentIrFakeOverrideProperty(
startOffset, endOffset, origin, name, visibility, modality,
@@ -203,14 +203,14 @@ object PersistentIrFactory : IrFactory {
)
override fun createTypeAlias(
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: Visibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: DescriptorVisibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
): IrTypeAlias =
PersistentIrTypeAlias(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin)
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
@@ -30,16 +30,16 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
internal class PersistentIrField(
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
override val name: Name,
override val type: IrType,
override var visibility: Visibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
override val name: Name,
override val type: IrType,
override var visibility: DescriptorVisibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean
) : IrField(),
PersistentIrDeclarationBase<FieldCarrier>,
FieldCarrier {
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.declarations.persistent
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
@@ -23,20 +23,20 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal abstract class PersistentIrFunctionCommon(
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val name: Name,
visibility: Visibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val name: Name,
visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null
) : IrSimpleFunction(),
PersistentIrDeclarationBase<FunctionCarrier>,
FunctionCarrier {
@@ -132,9 +132,9 @@ internal abstract class PersistentIrFunctionCommon(
}
}
override var visibilityField: Visibility = visibility
override var visibilityField: DescriptorVisibility = visibility
override var visibility: Visibility
override var visibility: DescriptorVisibility
get() = getCarrier().visibilityField
set(v) {
if (visibility !== v) {
@@ -175,23 +175,23 @@ internal abstract class PersistentIrFunctionCommon(
}
internal class PersistentIrFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
override val modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource?
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: DescriptorVisibility,
override val modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource?
) : PersistentIrFunctionCommon(
startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -207,20 +207,20 @@ internal class PersistentIrFunction(
}
internal class PersistentIrFakeOverrideFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
override var visibility: Visibility,
override var modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
override var visibility: DescriptorVisibility,
override var modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
) : PersistentIrFunctionCommon(
startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.ir.declarations.persistent
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
@@ -30,18 +30,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal abstract class PersistentIrPropertyCommon(
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: Visibility,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
override val startOffset: Int,
override val endOffset: Int,
origin: IrDeclarationOrigin,
override val name: Name,
override var visibility: DescriptorVisibility,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
) : IrProperty(),
PersistentIrDeclarationBase<PropertyCarrier>,
PropertyCarrier {
@@ -109,21 +109,21 @@ internal abstract class PersistentIrPropertyCommon(
}
internal class PersistentIrProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
name: Name,
visibility: Visibility,
override val modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource?,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
name: Name,
visibility: DescriptorVisibility,
override val modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource?,
) : PersistentIrPropertyCommon(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource,
@@ -138,18 +138,18 @@ internal class PersistentIrProperty(
}
internal class PersistentIrFakeOverrideProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
override var modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
override var modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
) : PersistentIrPropertyCommon(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit,
isDelegated, isExternal, isExpect,
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
@@ -17,14 +17,14 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
internal class PersistentIrTypeAlias(
override val startOffset: Int,
override val endOffset: Int,
override val symbol: IrTypeAliasSymbol,
override val name: Name,
override var visibility: Visibility,
override val expandedType: IrType,
override val isActual: Boolean,
origin: IrDeclarationOrigin
override val startOffset: Int,
override val endOffset: Int,
override val symbol: IrTypeAliasSymbol,
override val name: Name,
override var visibility: DescriptorVisibility,
override val expandedType: IrType,
override val isActual: Boolean,
origin: IrDeclarationOrigin
) : IrTypeAlias(),
PersistentIrDeclarationBase<TypeAliasCarrier>,
TypeAliasCarrier {
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.types.IrType
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.ir.types.IrType
internal interface ClassCarrier : DeclarationCarrier {
var thisReceiverField: IrValueParameter?
var metadataField: MetadataSource?
var visibilityField: Visibility
var visibilityField: DescriptorVisibility
var modalityField: Modality
var attributeOwnerIdField: IrAttributeContainer
var typeParametersField: List<IrTypeParameter>
@@ -38,15 +38,15 @@ internal interface ClassCarrier : DeclarationCarrier {
}
internal class ClassCarrierImpl(
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var thisReceiverField: IrValueParameter?,
override var metadataField: MetadataSource?,
override var visibilityField: Visibility,
override var modalityField: Modality,
override var attributeOwnerIdField: IrAttributeContainer,
override var typeParametersField: List<IrTypeParameter>,
override var superTypesField: List<IrType>
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var thisReceiverField: IrValueParameter?,
override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility,
override var modalityField: Modality,
override var attributeOwnerIdField: IrAttributeContainer,
override var typeParametersField: List<IrTypeParameter>,
override var superTypesField: List<IrType>
) : ClassCarrier
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -31,16 +31,16 @@ internal interface ConstructorCarrier : FunctionBaseCarrier {
}
internal class ConstructorCarrierImpl(
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?,
override var metadataField: MetadataSource?,
override var visibilityField: Visibility,
override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter>
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?,
override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility,
override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter>
) : ConstructorCarrier
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.IrTypeParameter
import org.jetbrains.kotlin.ir.declarations.IrValueParameter
import org.jetbrains.kotlin.ir.declarations.MetadataSource
@@ -18,7 +18,7 @@ internal interface FunctionBaseCarrier : DeclarationCarrier {
var extensionReceiverParameterField: IrValueParameter?
var bodyField: IrBody?
var metadataField: MetadataSource?
var visibilityField: Visibility
var visibilityField: DescriptorVisibility
var typeParametersField: List<IrTypeParameter>
var valueParametersField: List<IrValueParameter>
}
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -40,19 +40,19 @@ internal interface FunctionCarrier : FunctionBaseCarrier {
}
internal class FunctionCarrierImpl(
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?,
override var metadataField: MetadataSource?,
override var visibilityField: Visibility,
override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter>,
override var correspondingPropertySymbolField: IrPropertySymbol?,
override var overriddenSymbolsField: List<IrSimpleFunctionSymbol>,
override var attributeOwnerIdField: IrAttributeContainer
override val lastModified: Int,
override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?,
override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility,
override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter>,
override var correspondingPropertySymbolField: IrPropertySymbol?,
override var overriddenSymbolsField: List<IrSimpleFunctionSymbol>,
override var attributeOwnerIdField: IrAttributeContainer
) : FunctionCarrier
@@ -5,8 +5,8 @@
package org.jetbrains.kotlin.ir.builders.declarations
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.ir.builders.IrElementBuilder
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.name.Name
abstract class IrDeclarationBuilder : IrElementBuilder() {
var origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
var visibility: Visibility = Visibilities.PUBLIC
var visibility: DescriptorVisibility = DescriptorVisibilities.PUBLIC
lateinit var name: Name
@@ -24,6 +24,6 @@ abstract class IrDeclarationBuilder : IrElementBuilder() {
super.updateFrom(from)
origin = from.origin
visibility = if (from is IrDeclarationWithVisibility) from.visibility else Visibilities.PUBLIC
visibility = if (from is IrDeclarationWithVisibility) from.visibility else DescriptorVisibilities.PUBLIC
}
}
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.ir.declarations
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrElementBase
import org.jetbrains.kotlin.ir.IrStatement
@@ -56,7 +56,7 @@ interface IrOverridableDeclaration<S : IrSymbol> : IrDeclaration {
}
interface IrDeclarationWithVisibility : IrDeclaration {
var visibility: Visibility
var visibility: DescriptorVisibility
}
interface IrDeclarationWithName : IrDeclaration {
@@ -26,37 +26,37 @@ interface IrFactory {
): IrAnonymousInitializer
fun createClass(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: Visibility,
modality: Modality,
isCompanion: Boolean = false,
isInner: Boolean = false,
isData: Boolean = false,
isExternal: Boolean = false,
isInline: Boolean = false,
isExpect: Boolean = false,
isFun: Boolean = false,
source: SourceElement = SourceElement.NO_SOURCE,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrClassSymbol,
name: Name,
kind: ClassKind,
visibility: DescriptorVisibility,
modality: Modality,
isCompanion: Boolean = false,
isInner: Boolean = false,
isData: Boolean = false,
isExternal: Boolean = false,
isInline: Boolean = false,
isExpect: Boolean = false,
isFun: Boolean = false,
source: SourceElement = SourceElement.NO_SOURCE,
): IrClass
fun createConstructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: Visibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource? = null
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
name: Name,
visibility: DescriptorVisibility,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isPrimary: Boolean,
isExpect: Boolean,
containerSource: DeserializedContainerSource? = null
): IrConstructor
fun createEnumEntry(
@@ -74,53 +74,53 @@ interface IrFactory {
): IrErrorDeclaration
fun createField(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: Visibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
name: Name,
type: IrType,
visibility: DescriptorVisibility,
isFinal: Boolean,
isExternal: Boolean,
isStatic: Boolean,
): IrField
fun createFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null,
): IrSimpleFunction
fun createFakeOverrideFunction(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
returnType: IrType,
isInline: Boolean,
isExternal: Boolean,
isTailrec: Boolean,
isSuspend: Boolean,
isOperator: Boolean,
isInfix: Boolean,
isExpect: Boolean,
): IrSimpleFunction
fun createLocalDelegatedProperty(
@@ -134,47 +134,47 @@ interface IrFactory {
): IrLocalDelegatedProperty
fun createProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrPropertySymbol,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean = false,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null
): IrProperty
fun createFakeOverrideProperty(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: Visibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
name: Name,
visibility: DescriptorVisibility,
modality: Modality,
isVar: Boolean,
isConst: Boolean,
isLateinit: Boolean,
isDelegated: Boolean,
isExternal: Boolean,
isExpect: Boolean,
): IrProperty
fun createTypeAlias(
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: Visibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
startOffset: Int,
endOffset: Int,
symbol: IrTypeAliasSymbol,
name: Name,
visibility: DescriptorVisibility,
expandedType: IrType,
isActual: Boolean,
origin: IrDeclarationOrigin,
): IrTypeAlias
fun createTypeParameter(
@@ -19,25 +19,25 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
class IrLazyClass(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: ClassDescriptor,
override val name: Name,
override val kind: ClassKind,
override var visibility: Visibility,
override var modality: Modality,
override val isCompanion: Boolean,
override val isInner: Boolean,
override val isData: Boolean,
override val isExternal: Boolean,
override val isInline: Boolean,
override val isExpect: Boolean,
override val isFun: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator
override val name: Name,
override val kind: ClassKind,
override var visibility: DescriptorVisibility,
override var modality: Modality,
override val isCompanion: Boolean,
override val isInner: Boolean,
override val isData: Boolean,
override val isExternal: Boolean,
override val isInline: Boolean,
override val isExpect: Boolean,
override val isFun: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator
) : IrClass(), IrLazyDeclarationBase {
init {
symbol.bind(this)
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
@@ -22,19 +22,19 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@OptIn(ObsoleteDescriptorBasedAPI::class)
class IrLazyConstructor(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val descriptor: ClassConstructorDescriptor,
override val name: Name,
override var visibility: Visibility,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
override val descriptor: ClassConstructorDescriptor,
override val name: Name,
override var visibility: DescriptorVisibility,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
) : IrConstructor(), IrLazyFunctionBase {
override var parent: IrDeclarationParent by createLazyParent()
@@ -41,7 +41,7 @@ interface IrLazyDeclarationBase : IrDeclaration {
fun generateChildStubs(descriptors: Collection<DeclarationDescriptor>, declarations: MutableList<IrDeclaration>) {
descriptors.mapNotNullTo(declarations) { descriptor ->
if (descriptor is DeclarationDescriptorWithVisibility && Visibilities.isPrivate(descriptor.visibility)) null
if (descriptor is DeclarationDescriptorWithVisibility && DescriptorVisibilities.isPrivate(descriptor.visibility)) null
else stubGenerator.generateMemberStub(descriptor)
}
}
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -23,19 +23,19 @@ import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.Name
class IrLazyField(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: PropertyDescriptor,
override val name: Name,
override var visibility: Visibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
override val name: Name,
override var visibility: DescriptorVisibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override val isStatic: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
) : IrField(), IrLazyDeclarationBase {
init {
symbol.bind(this)
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
@@ -25,24 +25,24 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@OptIn(ObsoleteDescriptorBasedAPI::class)
class IrLazyFunction(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
override val descriptor: FunctionDescriptor,
override val name: Name,
override var visibility: Visibility,
override val modality: Modality,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isExpect: Boolean,
override val isFakeOverride: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
override val descriptor: FunctionDescriptor,
override val name: Name,
override var visibility: DescriptorVisibility,
override val modality: Modality,
override val isInline: Boolean,
override val isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isExpect: Boolean,
override val isFakeOverride: Boolean,
override val isOperator: Boolean,
override val isInfix: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
) : IrSimpleFunction(), IrLazyFunctionBase {
override var parent: IrDeclarationParent by createLazyParent()
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -21,25 +21,25 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor
class IrLazyProperty(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: PropertyDescriptor,
override val name: Name,
override var visibility: Visibility,
override val modality: Modality,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val isFakeOverride: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
bindingContext: BindingContext? = null
override val name: Name,
override var visibility: DescriptorVisibility,
override val modality: Modality,
override val isVar: Boolean,
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override val isExpect: Boolean,
override val isFakeOverride: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
bindingContext: BindingContext? = null
) : IrProperty(), IrLazyDeclarationBase {
init {
symbol.bind(this)
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -17,17 +17,17 @@ import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.Name
class IrLazyTypeAlias(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrTypeAliasSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
override val symbol: IrTypeAliasSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: TypeAliasDescriptor,
override val name: Name,
override var visibility: Visibility,
override val isActual: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
override val name: Name,
override var visibility: DescriptorVisibility,
override val isActual: Boolean,
override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator,
) : IrTypeAlias(), IrLazyDeclarationBase {
init {
symbol.bind(this)
@@ -151,7 +151,7 @@ abstract class IrBasedCallableDescriptor<T : IrDeclaration>(owner: T) : Callable
override fun hasSynthesizedParameterNames() = false
override fun getVisibility(): Visibility {
override fun getVisibility(): DescriptorVisibility {
TODO("not implemented")
}
@@ -414,11 +414,11 @@ open class IrBasedSimpleFunctionDescriptor(owner: IrSimpleFunction) : SimpleFunc
else CallableMemberDescriptor.Kind.SYNTHESIZED
override fun copy(
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: Visibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: DescriptorVisibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
): Nothing {
TODO("not implemented")
}
@@ -482,11 +482,11 @@ open class IrBasedClassConstructorDescriptor(owner: IrConstructor) : ClassConstr
}
override fun copy(
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: Visibility,
kind: CallableMemberDescriptor.Kind,
copyOverrides: Boolean
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: DescriptorVisibility,
kind: CallableMemberDescriptor.Kind,
copyOverrides: Boolean
): ClassConstructorDescriptor {
throw UnsupportedOperationException()
}
@@ -696,7 +696,7 @@ open class IrBasedEnumEntryDescriptor(owner: IrEnumEntry) : ClassDescriptor, IrB
override fun getCompanionObjectDescriptor() = null
override fun getVisibility() = Visibilities.DEFAULT_VISIBILITY
override fun getVisibility() = DescriptorVisibilities.DEFAULT_VISIBILITY
override fun isCompanionObject() = false
@@ -776,11 +776,11 @@ open class IrBasedPropertyDescriptor(owner: IrProperty) : PropertyDescriptor, Ir
override fun getOverriddenDescriptors(): MutableCollection<out PropertyDescriptor> = mutableListOf()
override fun copy(
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: Visibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: DescriptorVisibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
): CallableMemberDescriptor {
TODO("not implemented")
}
@@ -937,7 +937,7 @@ open class IrBasedTypeAliasDescriptor(owner: IrTypeAlias) : IrBasedDeclarationDe
override fun getSource(): SourceElement = SourceElement.NO_SOURCE
override fun getVisibility(): Visibility = owner.visibility
override fun getVisibility(): DescriptorVisibility = owner.visibility
override fun isExpect(): Boolean = false
@@ -971,11 +971,11 @@ open class IrBasedFieldDescriptor(owner: IrField) : PropertyDescriptor, IrBasedD
override fun getOverriddenDescriptors(): MutableCollection<out PropertyDescriptor> = mutableListOf()
override fun copy(
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: Visibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
newOwner: DeclarationDescriptor?,
modality: Modality?,
visibility: DescriptorVisibility?,
kind: CallableMemberDescriptor.Kind?,
copyOverrides: Boolean
): CallableMemberDescriptor {
TODO("not implemented")
}
@@ -68,7 +68,7 @@ class IrBuiltIns(
val symbol = symbolTable.declareSimpleFunctionIfNotExists(operatorDescriptor) {
val operator = irFactory.createFunction(
UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, it, Name.identifier(name), Visibilities.PUBLIC, Modality.FINAL,
UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, it, Name.identifier(name), DescriptorVisibilities.PUBLIC, Modality.FINAL,
returnType, isInline = false, isExternal = false, isTailrec = false, isSuspend = false,
isOperator = false, isInfix = false, isExpect = false, isFakeOverride = false
)
@@ -128,7 +128,7 @@ class IrBuiltIns(
initialize(
null, null, listOf(typeParameterDescriptor), listOf(valueParameterDescriptor), returnKotlinType,
Modality.FINAL, Visibilities.PUBLIC
Modality.FINAL, DescriptorVisibilities.PUBLIC
)
}
@@ -155,7 +155,7 @@ class IrBuiltIns(
return symbolTable.declareSimpleFunctionIfNotExists(operatorDescriptor) {
val operator = irFactory.createFunction(
UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, it, name, Visibilities.PUBLIC, Modality.FINAL, returnIrType,
UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, it, name, DescriptorVisibilities.PUBLIC, Modality.FINAL, returnIrType,
isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isOperator = false, isInfix = false,
isExpect = false, isFakeOverride = false
)
@@ -42,7 +42,7 @@ abstract class IrBuiltinOperatorDescriptorBase(containingDeclaration: Declaratio
throw UnsupportedOperationException()
override fun getTypeParameters(): List<TypeParameterDescriptor> = emptyList()
override fun getVisibility(): Visibility = Visibilities.PUBLIC
override fun getVisibility(): DescriptorVisibility = DescriptorVisibilities.PUBLIC
override fun getModality(): Modality = Modality.FINAL
override fun getKind(): CallableMemberDescriptor.Kind = CallableMemberDescriptor.Kind.SYNTHESIZED
override fun getInitialSignatureDescriptor(): FunctionDescriptor? = null
@@ -61,8 +61,8 @@ abstract class IrBuiltinOperatorDescriptorBase(containingDeclaration: Declaratio
override fun hasSynthesizedParameterNames(): Boolean = false
override fun copy(
newOwner: DeclarationDescriptor?, modality: Modality?, visibility: Visibility?,
kind: CallableMemberDescriptor.Kind?, copyOverrides: Boolean
newOwner: DeclarationDescriptor?, modality: Modality?, visibility: DescriptorVisibility?,
kind: CallableMemberDescriptor.Kind?, copyOverrides: Boolean
) =
throw UnsupportedOperationException()
@@ -119,7 +119,7 @@ class IrBuiltinValueParameterDescriptorImpl(
override val varargElementType: KotlinType? get() = null
override fun getCompileTimeInitializer(): ConstantValue<*>? = null
override fun isVar(): Boolean = false
override fun getVisibility(): Visibility = Visibilities.LOCAL
override fun getVisibility(): DescriptorVisibility = DescriptorVisibilities.LOCAL
override fun copy(newOwner: CallableDescriptor, newName: Name, newIndex: Int): ValueParameterDescriptor =
throw UnsupportedOperationException()
@@ -54,7 +54,7 @@ abstract class IrDelegateDescriptorBase(
/* original = */ null,
annotations,
Modality.FINAL,
Visibilities.PRIVATE,
DescriptorVisibilities.PRIVATE,
/* isVar = */ false,
name,
CallableMemberDescriptor.Kind.SYNTHESIZED,
@@ -76,7 +76,7 @@ abstract class IrDelegateDescriptorBase(
override fun getCompileTimeInitializer(): ConstantValue<*>? = null
override fun getVisibility(): Visibility = Visibilities.PRIVATE
override fun getVisibility(): DescriptorVisibility = DescriptorVisibilities.PRIVATE
override fun substitute(substitutor: TypeSubstitutor): PropertyDescriptor {
throw UnsupportedOperationException("Property delegate descriptor shouldn't be substituted: $this")
@@ -134,7 +134,7 @@ class IrLocalDelegatedPropertyDelegateDescriptorImpl(
override fun isVar(): Boolean = false
override fun isLateInit(): Boolean = false
override fun substitute(substitutor: TypeSubstitutor): VariableDescriptor? = throw UnsupportedOperationException()
override fun getVisibility(): Visibility = Visibilities.LOCAL
override fun getVisibility(): DescriptorVisibility = DescriptorVisibilities.LOCAL
override fun <R : Any?, D : Any?> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R =
visitor.visitVariableDescriptor(this, data)

Some files were not shown because too many files have changed in this diff Show More