diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt index 86411fcc5ff..bbf7d75e4ef 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt @@ -24,12 +24,11 @@ import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.name.Name -interface IrClass : IrSymbolDeclaration, IrDeclarationContainer, IrTypeParametersContainer { +interface IrClass : IrSymbolDeclaration, IrDeclarationWithVisibility, IrDeclarationContainer, IrTypeParametersContainer { override val descriptor: ClassDescriptor val name: Name val kind: ClassKind - val visibility: Visibility val modality: Modality val isCompanion: Boolean val isInner: Boolean diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt index c9e7ef1cefe..45ca314bcf6 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.ir.declarations import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.symbols.IrSymbol @@ -39,3 +40,7 @@ interface IrDeclaration : IrStatement, IrAnnotationContainer { interface IrSymbolDeclaration : IrDeclaration, IrSymbolOwner { override val symbol: S } + +interface IrDeclarationWithVisibility : IrDeclaration { + val visibility: Visibility +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt index 8f9f68b3612..2c3210bdf03 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt @@ -12,12 +12,11 @@ import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.name.Name -interface IrField : IrSymbolDeclaration { +interface IrField : IrSymbolDeclaration, IrDeclarationWithVisibility { override val descriptor: PropertyDescriptor val name: Name val type: IrType - val visibility: Visibility val isFinal: Boolean val isExternal: Boolean val isStatic: Boolean diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt index 359190408a7..90fd43d2646 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt @@ -25,12 +25,11 @@ import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.ir.types.IrType -interface IrFunction : IrDeclaration, IrTypeParametersContainer, IrSymbolOwner, IrDeclarationParent, IrReturnTarget { +interface IrFunction : IrDeclarationWithVisibility, IrTypeParametersContainer, IrSymbolOwner, IrDeclarationParent, IrReturnTarget { override val descriptor: FunctionDescriptor override val symbol: IrFunctionSymbol val name: Name - val visibility: Visibility val isInline: Boolean // NB: there's an inline constructor for Array and each primitive array class val isExternal: Boolean var returnType: IrType diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt index 2d52227c303..fe80b3c54b6 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt @@ -21,12 +21,11 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.name.Name -interface IrProperty : IrDeclaration { +interface IrProperty : IrDeclarationWithVisibility { override val descriptor: PropertyDescriptor val name: Name val modality: Modality - val visibility: Visibility val isVar: Boolean val isConst: Boolean val isLateinit: Boolean