Introduce IrDeclarationWithVisibility
This commit is contained in:
@@ -24,12 +24,11 @@ import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
|||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
interface IrClass : IrSymbolDeclaration<IrClassSymbol>, IrDeclarationContainer, IrTypeParametersContainer {
|
interface IrClass : IrSymbolDeclaration<IrClassSymbol>, IrDeclarationWithVisibility, IrDeclarationContainer, IrTypeParametersContainer {
|
||||||
override val descriptor: ClassDescriptor
|
override val descriptor: ClassDescriptor
|
||||||
|
|
||||||
val name: Name
|
val name: Name
|
||||||
val kind: ClassKind
|
val kind: ClassKind
|
||||||
val visibility: Visibility
|
|
||||||
val modality: Modality
|
val modality: Modality
|
||||||
val isCompanion: Boolean
|
val isCompanion: Boolean
|
||||||
val isInner: Boolean
|
val isInner: Boolean
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.ir.declarations
|
package org.jetbrains.kotlin.ir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.ir.IrElement
|
import org.jetbrains.kotlin.ir.IrElement
|
||||||
import org.jetbrains.kotlin.ir.IrStatement
|
import org.jetbrains.kotlin.ir.IrStatement
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||||
@@ -39,3 +40,7 @@ interface IrDeclaration : IrStatement, IrAnnotationContainer {
|
|||||||
interface IrSymbolDeclaration<out S : IrSymbol> : IrDeclaration, IrSymbolOwner {
|
interface IrSymbolDeclaration<out S : IrSymbol> : IrDeclaration, IrSymbolOwner {
|
||||||
override val symbol: S
|
override val symbol: S
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface IrDeclarationWithVisibility : IrDeclaration {
|
||||||
|
val visibility: Visibility
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,12 +12,11 @@ import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
|||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
interface IrField : IrSymbolDeclaration<IrFieldSymbol> {
|
interface IrField : IrSymbolDeclaration<IrFieldSymbol>, IrDeclarationWithVisibility {
|
||||||
override val descriptor: PropertyDescriptor
|
override val descriptor: PropertyDescriptor
|
||||||
|
|
||||||
val name: Name
|
val name: Name
|
||||||
val type: IrType
|
val type: IrType
|
||||||
val visibility: Visibility
|
|
||||||
val isFinal: Boolean
|
val isFinal: Boolean
|
||||||
val isExternal: Boolean
|
val isExternal: Boolean
|
||||||
val isStatic: Boolean
|
val isStatic: Boolean
|
||||||
|
|||||||
@@ -25,12 +25,11 @@ import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
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 descriptor: FunctionDescriptor
|
||||||
override val symbol: IrFunctionSymbol
|
override val symbol: IrFunctionSymbol
|
||||||
|
|
||||||
val name: Name
|
val name: Name
|
||||||
val visibility: Visibility
|
|
||||||
val isInline: Boolean // NB: there's an inline constructor for Array and each primitive array class
|
val isInline: Boolean // NB: there's an inline constructor for Array and each primitive array class
|
||||||
val isExternal: Boolean
|
val isExternal: Boolean
|
||||||
var returnType: IrType
|
var returnType: IrType
|
||||||
|
|||||||
@@ -21,12 +21,11 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
interface IrProperty : IrDeclaration {
|
interface IrProperty : IrDeclarationWithVisibility {
|
||||||
override val descriptor: PropertyDescriptor
|
override val descriptor: PropertyDescriptor
|
||||||
|
|
||||||
val name: Name
|
val name: Name
|
||||||
val modality: Modality
|
val modality: Modality
|
||||||
val visibility: Visibility
|
|
||||||
val isVar: Boolean
|
val isVar: Boolean
|
||||||
val isConst: Boolean
|
val isConst: Boolean
|
||||||
val isLateinit: Boolean
|
val isLateinit: Boolean
|
||||||
|
|||||||
Reference in New Issue
Block a user