Reformat IR tree declarations and implementations

Most of the changes are to the incorrect formatting introduced in
d1fd1da56f.
This commit is contained in:
Alexander Udalov
2020-10-06 14:21:40 +02:00
parent b47e0e861b
commit 06f1bd6101
37 changed files with 719 additions and 716 deletions
@@ -25,22 +25,22 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class IrClassImpl( class IrClassImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol, override val symbol: IrClassSymbol,
override val name: Name, override val name: Name,
override val kind: ClassKind, override val kind: ClassKind,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
override val isCompanion: Boolean = false, override val isCompanion: Boolean = false,
override val isInner: Boolean = false, override val isInner: Boolean = false,
override val isData: Boolean = false, override val isData: Boolean = false,
override val isExternal: Boolean = false, override val isExternal: Boolean = false,
override val isInline: Boolean = false, override val isInline: Boolean = false,
override val isExpect: Boolean = false, override val isExpect: Boolean = false,
override val isFun: Boolean = false, override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE override val source: SourceElement = SourceElement.NO_SOURCE
) : IrClass() { ) : IrClass() {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -29,18 +29,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
class IrConstructorImpl( class IrConstructorImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol, override val symbol: IrConstructorSymbol,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isPrimary: Boolean, override val isPrimary: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null, override val containerSource: DeserializedContainerSource? = null,
) : IrConstructor() { ) : IrConstructor() {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -30,22 +30,22 @@ object IrFactoryImpl : IrFactory {
IrAnonymousInitializerImpl(startOffset, endOffset, origin, symbol, isStatic) IrAnonymousInitializerImpl(startOffset, endOffset, origin, symbol, isStatic)
override fun createClass( override fun createClass(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrClassSymbol, symbol: IrClassSymbol,
name: Name, name: Name,
kind: ClassKind, kind: ClassKind,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isCompanion: Boolean, isCompanion: Boolean,
isInner: Boolean, isInner: Boolean,
isData: Boolean, isData: Boolean,
isExternal: Boolean, isExternal: Boolean,
isInline: Boolean, isInline: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFun: Boolean, isFun: Boolean,
source: SourceElement, source: SourceElement,
): IrClass = ): IrClass =
IrClassImpl( IrClassImpl(
startOffset, endOffset, origin, symbol, name, kind, visibility, modality, startOffset, endOffset, origin, symbol, name, kind, visibility, modality,
@@ -53,18 +53,18 @@ object IrFactoryImpl : IrFactory {
) )
override fun createConstructor( override fun createConstructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol, symbol: IrConstructorSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isPrimary: Boolean, isPrimary: Boolean,
isExpect: Boolean, isExpect: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrConstructor = ): IrConstructor =
IrConstructorImpl( IrConstructorImpl(
startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect, startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect,
@@ -88,37 +88,37 @@ object IrFactoryImpl : IrFactory {
IrErrorDeclarationImpl(startOffset, endOffset, descriptor) IrErrorDeclarationImpl(startOffset, endOffset, descriptor)
override fun createField( override fun createField(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrFieldSymbol, symbol: IrFieldSymbol,
name: Name, name: Name,
type: IrType, type: IrType,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
isFinal: Boolean, isFinal: Boolean,
isExternal: Boolean, isExternal: Boolean,
isStatic: Boolean, isStatic: Boolean,
): IrField = ): IrField =
IrFieldImpl(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic) IrFieldImpl(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic)
override fun createFunction( override fun createFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol, symbol: IrSimpleFunctionSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFakeOverride: Boolean, isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrSimpleFunction = ): IrSimpleFunction =
IrFunctionImpl( IrFunctionImpl(
startOffset, endOffset, origin, symbol, name, visibility, modality, returnType, startOffset, endOffset, origin, symbol, name, visibility, modality, returnType,
@@ -127,20 +127,20 @@ object IrFactoryImpl : IrFactory {
) )
override fun createFakeOverrideFunction( override fun createFakeOverrideFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrSimpleFunction = ): IrSimpleFunction =
IrFakeOverrideFunctionImpl( IrFakeOverrideFunctionImpl(
startOffset, endOffset, origin, name, visibility, modality, returnType, startOffset, endOffset, origin, name, visibility, modality, returnType,
@@ -159,21 +159,21 @@ object IrFactoryImpl : IrFactory {
IrLocalDelegatedPropertyImpl(startOffset, endOffset, origin, symbol, name, type, isVar) IrLocalDelegatedPropertyImpl(startOffset, endOffset, origin, symbol, name, type, isVar)
override fun createProperty( override fun createProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrPropertySymbol, symbol: IrPropertySymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFakeOverride: Boolean, isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrProperty = ): IrProperty =
IrPropertyImpl( IrPropertyImpl(
startOffset, endOffset, origin, symbol, name, visibility, modality, startOffset, endOffset, origin, symbol, name, visibility, modality,
@@ -182,18 +182,18 @@ object IrFactoryImpl : IrFactory {
) )
override fun createFakeOverrideProperty( override fun createFakeOverrideProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrProperty = ): IrProperty =
IrFakeOverridePropertyImpl( IrFakeOverridePropertyImpl(
startOffset, endOffset, origin, name, visibility, modality, startOffset, endOffset, origin, name, visibility, modality,
@@ -201,14 +201,14 @@ object IrFactoryImpl : IrFactory {
) )
override fun createTypeAlias( override fun createTypeAlias(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
symbol: IrTypeAliasSymbol, symbol: IrTypeAliasSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
expandedType: IrType, expandedType: IrType,
isActual: Boolean, isActual: Boolean,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
): IrTypeAlias = ): IrTypeAlias =
IrTypeAliasImpl(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin) IrTypeAliasImpl(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin)
@@ -237,7 +237,9 @@ object IrFactoryImpl : IrFactory {
isNoinline: Boolean, isNoinline: Boolean,
isHidden: Boolean isHidden: Boolean
): IrValueParameter = ): IrValueParameter =
IrValueParameterImpl(startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden) IrValueParameterImpl(
startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden
)
override fun createExpressionBody( override fun createExpressionBody(
startOffset: Int, startOffset: Int,
@@ -28,16 +28,16 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class IrFieldImpl( class IrFieldImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol, override val symbol: IrFieldSymbol,
override val name: Name, override val name: Name,
override var type: IrType, override var type: IrType,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isFinal: Boolean, override val isFinal: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isStatic: Boolean, override val isStatic: Boolean,
) : IrField() { ) : IrField() {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -21,20 +21,20 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
abstract class IrFunctionCommonImpl( abstract class IrFunctionCommonImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isTailrec: Boolean, override val isTailrec: Boolean,
override val isSuspend: Boolean, override val isSuspend: Boolean,
override val isOperator: Boolean, override val isOperator: Boolean,
override val isInfix: Boolean, override val isInfix: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?, override val containerSource: DeserializedContainerSource?,
) : IrSimpleFunction() { ) : IrSimpleFunction() {
override val factory: IrFactory override val factory: IrFactory
get() = IrFactoryImpl get() = IrFactoryImpl
@@ -68,23 +68,23 @@ abstract class IrFunctionCommonImpl(
} }
class IrFunctionImpl( class IrFunctionImpl(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol, override val symbol: IrSimpleFunctionSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null, containerSource: DeserializedContainerSource? = null,
) : IrFunctionCommonImpl( ) : IrFunctionCommonImpl(
startOffset, endOffset, origin, name, visibility, returnType, isInline, startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -100,20 +100,20 @@ class IrFunctionImpl(
} }
class IrFakeOverrideFunctionImpl( class IrFakeOverrideFunctionImpl(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
) : IrFunctionCommonImpl( ) : IrFunctionCommonImpl(
startOffset, endOffset, origin, name, visibility, returnType, isInline, startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -28,18 +28,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
abstract class IrPropertyCommonImpl( abstract class IrPropertyCommonImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isVar: Boolean, override val isVar: Boolean,
override val isConst: Boolean, override val isConst: Boolean,
override val isLateinit: Boolean, override val isLateinit: Boolean,
override val isDelegated: Boolean, override val isDelegated: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?, override val containerSource: DeserializedContainerSource?,
) : IrProperty() { ) : IrProperty() {
override val factory: IrFactory override val factory: IrFactory
get() = IrFactoryImpl get() = IrFactoryImpl
@@ -59,21 +59,21 @@ abstract class IrPropertyCommonImpl(
} }
class IrPropertyImpl( class IrPropertyImpl(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol, override val symbol: IrPropertySymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean = false, isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null, containerSource: DeserializedContainerSource? = null,
) : IrPropertyCommonImpl( ) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource containerSource
@@ -88,18 +88,18 @@ class IrPropertyImpl(
} }
class IrFakeOverridePropertyImpl( class IrFakeOverridePropertyImpl(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
) : IrPropertyCommonImpl( ) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource = null, containerSource = null,
@@ -15,14 +15,14 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class IrTypeAliasImpl( class IrTypeAliasImpl(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override val symbol: IrTypeAliasSymbol, override val symbol: IrTypeAliasSymbol,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override var expandedType: IrType, override var expandedType: IrType,
override val isActual: Boolean, override val isActual: Boolean,
override var origin: IrDeclarationOrigin override var origin: IrDeclarationOrigin
) : IrTypeAlias() { ) : IrTypeAlias() {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -18,16 +18,15 @@ package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.IrFactory
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.declarations.IrFactory
import org.jetbrains.kotlin.ir.declarations.IrTypeParameter import org.jetbrains.kotlin.ir.declarations.IrTypeParameter
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
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
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.SmartList
class IrTypeParameterImpl( class IrTypeParameterImpl(
override val startOffset: Int, override val startOffset: Int,
@@ -28,22 +28,22 @@ import org.jetbrains.kotlin.name.Name
import java.util.* import java.util.*
internal class PersistentIrClass( internal class PersistentIrClass(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol, override val symbol: IrClassSymbol,
override val name: Name, override val name: Name,
override val kind: ClassKind, override val kind: ClassKind,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
override val isCompanion: Boolean = false, override val isCompanion: Boolean = false,
override val isInner: Boolean = false, override val isInner: Boolean = false,
override val isData: Boolean = false, override val isData: Boolean = false,
override val isExternal: Boolean = false, override val isExternal: Boolean = false,
override val isInline: Boolean = false, override val isInline: Boolean = false,
override val isExpect: Boolean = false, override val isExpect: Boolean = false,
override val isFun: Boolean = false, override val isFun: Boolean = false,
override val source: SourceElement = SourceElement.NO_SOURCE override val source: SourceElement = SourceElement.NO_SOURCE
) : IrClass(), ) : IrClass(),
PersistentIrDeclarationBase<ClassCarrier>, PersistentIrDeclarationBase<ClassCarrier>,
ClassCarrier { ClassCarrier {
@@ -31,18 +31,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal class PersistentIrConstructor( internal class PersistentIrConstructor(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol, override val symbol: IrConstructorSymbol,
override val name: Name, override val name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isPrimary: Boolean, override val isPrimary: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? override val containerSource: DeserializedContainerSource?
) : IrConstructor(), ) : IrConstructor(),
PersistentIrDeclarationBase<ConstructorCarrier>, PersistentIrDeclarationBase<ConstructorCarrier>,
ConstructorCarrier { ConstructorCarrier {
@@ -30,22 +30,22 @@ object PersistentIrFactory : IrFactory {
PersistentIrAnonymousInitializer(startOffset, endOffset, origin, symbol, isStatic) PersistentIrAnonymousInitializer(startOffset, endOffset, origin, symbol, isStatic)
override fun createClass( override fun createClass(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrClassSymbol, symbol: IrClassSymbol,
name: Name, name: Name,
kind: ClassKind, kind: ClassKind,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isCompanion: Boolean, isCompanion: Boolean,
isInner: Boolean, isInner: Boolean,
isData: Boolean, isData: Boolean,
isExternal: Boolean, isExternal: Boolean,
isInline: Boolean, isInline: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFun: Boolean, isFun: Boolean,
source: SourceElement, source: SourceElement,
): IrClass = ): IrClass =
PersistentIrClass( PersistentIrClass(
startOffset, endOffset, origin, symbol, name, kind, visibility, modality, startOffset, endOffset, origin, symbol, name, kind, visibility, modality,
@@ -53,18 +53,18 @@ object PersistentIrFactory : IrFactory {
) )
override fun createConstructor( override fun createConstructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol, symbol: IrConstructorSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isPrimary: Boolean, isPrimary: Boolean,
isExpect: Boolean, isExpect: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrConstructor = ): IrConstructor =
PersistentIrConstructor( PersistentIrConstructor(
startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect, startOffset, endOffset, origin, symbol, name, visibility, returnType, isInline, isExternal, isPrimary, isExpect,
@@ -88,37 +88,37 @@ object PersistentIrFactory : IrFactory {
PersistentIrErrorDeclaration(startOffset, endOffset, descriptor) PersistentIrErrorDeclaration(startOffset, endOffset, descriptor)
override fun createField( override fun createField(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrFieldSymbol, symbol: IrFieldSymbol,
name: Name, name: Name,
type: IrType, type: IrType,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
isFinal: Boolean, isFinal: Boolean,
isExternal: Boolean, isExternal: Boolean,
isStatic: Boolean, isStatic: Boolean,
): IrField = ): IrField =
PersistentIrField(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic) PersistentIrField(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic)
override fun createFunction( override fun createFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol, symbol: IrSimpleFunctionSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFakeOverride: Boolean, isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrSimpleFunction = ): IrSimpleFunction =
PersistentIrFunction( PersistentIrFunction(
startOffset, endOffset, origin, symbol, name, visibility, modality, returnType, startOffset, endOffset, origin, symbol, name, visibility, modality, returnType,
@@ -127,20 +127,20 @@ object PersistentIrFactory : IrFactory {
) )
override fun createFakeOverrideFunction( override fun createFakeOverrideFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrSimpleFunction = ): IrSimpleFunction =
PersistentIrFakeOverrideFunction( PersistentIrFakeOverrideFunction(
startOffset, endOffset, origin, name, visibility, modality, returnType, startOffset, endOffset, origin, name, visibility, modality, returnType,
@@ -161,21 +161,21 @@ object PersistentIrFactory : IrFactory {
) )
override fun createProperty( override fun createProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrPropertySymbol, symbol: IrPropertySymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFakeOverride: Boolean, isFakeOverride: Boolean,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
): IrProperty = ): IrProperty =
PersistentIrProperty( PersistentIrProperty(
startOffset, endOffset, origin, symbol, name, visibility, modality, startOffset, endOffset, origin, symbol, name, visibility, modality,
@@ -184,18 +184,18 @@ object PersistentIrFactory : IrFactory {
) )
override fun createFakeOverrideProperty( override fun createFakeOverrideProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrProperty = ): IrProperty =
PersistentIrFakeOverrideProperty( PersistentIrFakeOverrideProperty(
startOffset, endOffset, origin, name, visibility, modality, startOffset, endOffset, origin, name, visibility, modality,
@@ -203,14 +203,14 @@ object PersistentIrFactory : IrFactory {
) )
override fun createTypeAlias( override fun createTypeAlias(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
symbol: IrTypeAliasSymbol, symbol: IrTypeAliasSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
expandedType: IrType, expandedType: IrType,
isActual: Boolean, isActual: Boolean,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
): IrTypeAlias = ): IrTypeAlias =
PersistentIrTypeAlias(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin) PersistentIrTypeAlias(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin)
@@ -239,7 +239,9 @@ object PersistentIrFactory : IrFactory {
isNoinline: Boolean, isNoinline: Boolean,
isHidden: Boolean isHidden: Boolean
): IrValueParameter = ): IrValueParameter =
PersistentIrValueParameter(startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden) PersistentIrValueParameter(
startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden
)
override fun createExpressionBody( override fun createExpressionBody(
startOffset: Int, startOffset: Int,
@@ -30,16 +30,16 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
internal class PersistentIrField( internal class PersistentIrField(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol, override val symbol: IrFieldSymbol,
override val name: Name, override val name: Name,
type: IrType, type: IrType,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isFinal: Boolean, override val isFinal: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isStatic: Boolean override val isStatic: Boolean
) : IrField(), ) : IrField(),
PersistentIrDeclarationBase<FieldCarrier>, PersistentIrDeclarationBase<FieldCarrier>,
FieldCarrier { FieldCarrier {
@@ -23,20 +23,20 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal abstract class PersistentIrFunctionCommon( internal abstract class PersistentIrFunctionCommon(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val name: Name, override val name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isTailrec: Boolean, override val isTailrec: Boolean,
override val isSuspend: Boolean, override val isSuspend: Boolean,
override val isOperator: Boolean, override val isOperator: Boolean,
override val isInfix: Boolean, override val isInfix: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null override val containerSource: DeserializedContainerSource? = null
) : IrSimpleFunction(), ) : IrSimpleFunction(),
PersistentIrDeclarationBase<FunctionCarrier>, PersistentIrDeclarationBase<FunctionCarrier>,
FunctionCarrier { FunctionCarrier {
@@ -175,23 +175,23 @@ internal abstract class PersistentIrFunctionCommon(
} }
internal class PersistentIrFunction( internal class PersistentIrFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol, override val symbol: IrSimpleFunctionSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? containerSource: DeserializedContainerSource?
) : PersistentIrFunctionCommon( ) : PersistentIrFunctionCommon(
startOffset, endOffset, origin, name, visibility, returnType, isInline, startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -207,20 +207,20 @@ internal class PersistentIrFunction(
} }
internal class PersistentIrFakeOverrideFunction( internal class PersistentIrFakeOverrideFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
) : PersistentIrFunctionCommon( ) : PersistentIrFunctionCommon(
startOffset, endOffset, origin, name, visibility, returnType, isInline, startOffset, endOffset, origin, name, visibility, returnType, isInline,
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
@@ -30,18 +30,18 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
internal abstract class PersistentIrPropertyCommon( internal abstract class PersistentIrPropertyCommon(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isVar: Boolean, override val isVar: Boolean,
override val isConst: Boolean, override val isConst: Boolean,
override val isLateinit: Boolean, override val isLateinit: Boolean,
override val isDelegated: Boolean, override val isDelegated: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?, override val containerSource: DeserializedContainerSource?,
) : IrProperty(), ) : IrProperty(),
PersistentIrDeclarationBase<PropertyCarrier>, PersistentIrDeclarationBase<PropertyCarrier>,
PropertyCarrier { PropertyCarrier {
@@ -109,21 +109,21 @@ internal abstract class PersistentIrPropertyCommon(
} }
internal class PersistentIrProperty( internal class PersistentIrProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol, override val symbol: IrPropertySymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean = false, isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource?, containerSource: DeserializedContainerSource?,
) : PersistentIrPropertyCommon( ) : PersistentIrPropertyCommon(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
containerSource, containerSource,
@@ -138,18 +138,18 @@ internal class PersistentIrProperty(
} }
internal class PersistentIrFakeOverrideProperty( internal class PersistentIrFakeOverrideProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
) : PersistentIrPropertyCommon( ) : PersistentIrPropertyCommon(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit,
isDelegated, isExternal, isExpect, isDelegated, isExternal, isExpect,
@@ -17,14 +17,14 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
internal class PersistentIrTypeAlias( internal class PersistentIrTypeAlias(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override val symbol: IrTypeAliasSymbol, override val symbol: IrTypeAliasSymbol,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
expandedType: IrType, expandedType: IrType,
override val isActual: Boolean, override val isActual: Boolean,
origin: IrDeclarationOrigin origin: IrDeclarationOrigin
) : IrTypeAlias(), ) : IrTypeAlias(),
PersistentIrDeclarationBase<TypeAliasCarrier>, PersistentIrDeclarationBase<TypeAliasCarrier>,
TypeAliasCarrier { TypeAliasCarrier {
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
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
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.SmartList
internal class PersistentIrTypeParameter( internal class PersistentIrTypeParameter(
override val startOffset: Int, override val startOffset: Int,
@@ -38,15 +38,15 @@ internal interface ClassCarrier : DeclarationCarrier {
} }
internal class ClassCarrierImpl( internal class ClassCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>, override var annotationsField: List<IrConstructorCall>,
override var thisReceiverField: IrValueParameter?, override var thisReceiverField: IrValueParameter?,
override var metadataField: MetadataSource?, override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility, override var visibilityField: DescriptorVisibility,
override var modalityField: Modality, override var modalityField: Modality,
override var attributeOwnerIdField: IrAttributeContainer, override var attributeOwnerIdField: IrAttributeContainer,
override var typeParametersField: List<IrTypeParameter>, override var typeParametersField: List<IrTypeParameter>,
override var superTypesField: List<IrType> override var superTypesField: List<IrType>
) : ClassCarrier ) : ClassCarrier
@@ -31,16 +31,16 @@ internal interface ConstructorCarrier : FunctionBaseCarrier {
} }
internal class ConstructorCarrierImpl( internal class ConstructorCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>, override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType, override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?, override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?, override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?, override var bodyField: IrBody?,
override var metadataField: MetadataSource?, override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility, override var visibilityField: DescriptorVisibility,
override var typeParametersField: List<IrTypeParameter>, override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter> override var valueParametersField: List<IrValueParameter>
) : ConstructorCarrier ) : ConstructorCarrier
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
interface DeclarationCarrier: Carrier { interface DeclarationCarrier : Carrier {
var parentField: IrDeclarationParent? var parentField: IrDeclarationParent?
var originField: IrDeclarationOrigin var originField: IrDeclarationOrigin
var annotationsField: List<IrConstructorCall> var annotationsField: List<IrConstructorCall>
@@ -42,4 +42,4 @@ internal class FieldCarrierImpl(
override var initializerField: IrExpressionBody?, override var initializerField: IrExpressionBody?,
override var correspondingPropertySymbolField: IrPropertySymbol?, override var correspondingPropertySymbolField: IrPropertySymbol?,
override var metadataField: MetadataSource? override var metadataField: MetadataSource?
): FieldCarrier ) : FieldCarrier
@@ -40,19 +40,19 @@ internal interface FunctionCarrier : FunctionBaseCarrier {
} }
internal class FunctionCarrierImpl( internal class FunctionCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
override var annotationsField: List<IrConstructorCall>, override var annotationsField: List<IrConstructorCall>,
override var returnTypeFieldField: IrType, override var returnTypeFieldField: IrType,
override var dispatchReceiverParameterField: IrValueParameter?, override var dispatchReceiverParameterField: IrValueParameter?,
override var extensionReceiverParameterField: IrValueParameter?, override var extensionReceiverParameterField: IrValueParameter?,
override var bodyField: IrBody?, override var bodyField: IrBody?,
override var metadataField: MetadataSource?, override var metadataField: MetadataSource?,
override var visibilityField: DescriptorVisibility, override var visibilityField: DescriptorVisibility,
override var typeParametersField: List<IrTypeParameter>, override var typeParametersField: List<IrTypeParameter>,
override var valueParametersField: List<IrValueParameter>, override var valueParametersField: List<IrValueParameter>,
override var correspondingPropertySymbolField: IrPropertySymbol?, override var correspondingPropertySymbolField: IrPropertySymbol?,
override var overriddenSymbolsField: List<IrSimpleFunctionSymbol>, override var overriddenSymbolsField: List<IrSimpleFunctionSymbol>,
override var attributeOwnerIdField: IrAttributeContainer override var attributeOwnerIdField: IrAttributeContainer
) : FunctionCarrier ) : FunctionCarrier
@@ -11,6 +11,6 @@ interface IrAnnotationContainer {
val annotations: List<IrConstructorCall> val annotations: List<IrConstructorCall>
} }
interface IrMutableAnnotationContainer: IrAnnotationContainer { interface IrMutableAnnotationContainer : IrAnnotationContainer {
override var annotations: List<IrConstructorCall> override var annotations: List<IrConstructorCall>
} }
@@ -49,7 +49,7 @@ interface IrDeclarationOrigin {
object IR_EXTERNAL_JAVA_DECLARATION_STUB : IrDeclarationOriginImpl("IR_EXTERNAL_JAVA_DECLARATION_STUB") object IR_EXTERNAL_JAVA_DECLARATION_STUB : IrDeclarationOriginImpl("IR_EXTERNAL_JAVA_DECLARATION_STUB")
object IR_BUILTINS_STUB : IrDeclarationOriginImpl("IR_BUILTINS_STUB") object IR_BUILTINS_STUB : IrDeclarationOriginImpl("IR_BUILTINS_STUB")
object BRIDGE : IrDeclarationOriginImpl("BRIDGE", isSynthetic = true) object BRIDGE : IrDeclarationOriginImpl("BRIDGE", isSynthetic = true)
object BRIDGE_SPECIAL: IrDeclarationOriginImpl("BRIDGE_SPECIAL") object BRIDGE_SPECIAL : IrDeclarationOriginImpl("BRIDGE_SPECIAL")
object FIELD_FOR_ENUM_ENTRY : IrDeclarationOriginImpl("FIELD_FOR_ENUM_ENTRY") object FIELD_FOR_ENUM_ENTRY : IrDeclarationOriginImpl("FIELD_FOR_ENUM_ENTRY")
object FIELD_FOR_ENUM_VALUES : IrDeclarationOriginImpl("FIELD_FOR_ENUM_VALUES", isSynthetic = true) object FIELD_FOR_ENUM_VALUES : IrDeclarationOriginImpl("FIELD_FOR_ENUM_VALUES", isSynthetic = true)
@@ -26,37 +26,37 @@ interface IrFactory {
): IrAnonymousInitializer ): IrAnonymousInitializer
fun createClass( fun createClass(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrClassSymbol, symbol: IrClassSymbol,
name: Name, name: Name,
kind: ClassKind, kind: ClassKind,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isCompanion: Boolean = false, isCompanion: Boolean = false,
isInner: Boolean = false, isInner: Boolean = false,
isData: Boolean = false, isData: Boolean = false,
isExternal: Boolean = false, isExternal: Boolean = false,
isInline: Boolean = false, isInline: Boolean = false,
isExpect: Boolean = false, isExpect: Boolean = false,
isFun: Boolean = false, isFun: Boolean = false,
source: SourceElement = SourceElement.NO_SOURCE, source: SourceElement = SourceElement.NO_SOURCE,
): IrClass ): IrClass
fun createConstructor( fun createConstructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol, symbol: IrConstructorSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isPrimary: Boolean, isPrimary: Boolean,
isExpect: Boolean, isExpect: Boolean,
containerSource: DeserializedContainerSource? = null containerSource: DeserializedContainerSource? = null
): IrConstructor ): IrConstructor
fun createEnumEntry( fun createEnumEntry(
@@ -74,53 +74,53 @@ interface IrFactory {
): IrErrorDeclaration ): IrErrorDeclaration
fun createField( fun createField(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrFieldSymbol, symbol: IrFieldSymbol,
name: Name, name: Name,
type: IrType, type: IrType,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
isFinal: Boolean, isFinal: Boolean,
isExternal: Boolean, isExternal: Boolean,
isStatic: Boolean, isStatic: Boolean,
): IrField ): IrField
fun createFunction( fun createFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol, symbol: IrSimpleFunctionSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null, containerSource: DeserializedContainerSource? = null,
): IrSimpleFunction ): IrSimpleFunction
fun createFakeOverrideFunction( fun createFakeOverrideFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
returnType: IrType, returnType: IrType,
isInline: Boolean, isInline: Boolean,
isExternal: Boolean, isExternal: Boolean,
isTailrec: Boolean, isTailrec: Boolean,
isSuspend: Boolean, isSuspend: Boolean,
isOperator: Boolean, isOperator: Boolean,
isInfix: Boolean, isInfix: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrSimpleFunction ): IrSimpleFunction
fun createLocalDelegatedProperty( fun createLocalDelegatedProperty(
@@ -134,47 +134,47 @@ interface IrFactory {
): IrLocalDelegatedProperty ): IrLocalDelegatedProperty
fun createProperty( fun createProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
symbol: IrPropertySymbol, symbol: IrPropertySymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean = false, isExpect: Boolean = false,
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
containerSource: DeserializedContainerSource? = null containerSource: DeserializedContainerSource? = null
): IrProperty ): IrProperty
fun createFakeOverrideProperty( fun createFakeOverrideProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
modality: Modality, modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
isLateinit: Boolean, isLateinit: Boolean,
isDelegated: Boolean, isDelegated: Boolean,
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
): IrProperty ): IrProperty
fun createTypeAlias( fun createTypeAlias(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
symbol: IrTypeAliasSymbol, symbol: IrTypeAliasSymbol,
name: Name, name: Name,
visibility: DescriptorVisibility, visibility: DescriptorVisibility,
expandedType: IrType, expandedType: IrType,
isActual: Boolean, isActual: Boolean,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
): IrTypeAlias ): IrTypeAlias
fun createTypeParameter( fun createTypeParameter(
@@ -32,6 +32,7 @@ abstract class IrValueParameter : IrValueDeclaration(), IrSymbolDeclaration<IrVa
abstract var varargElementType: IrType? abstract var varargElementType: IrType?
abstract val isCrossinline: Boolean abstract val isCrossinline: Boolean
abstract val isNoinline: Boolean abstract val isNoinline: Boolean
// if true parameter is not included into IdSignature. // if true parameter is not included into IdSignature.
// Skipping hidden params makes IrFunction be look similar to FE. // Skipping hidden params makes IrFunction be look similar to FE.
// NOTE: it is introduced to fix KT-40980 because more clear solution was not possible to implement. // NOTE: it is introduced to fix KT-40980 because more clear solution was not possible to implement.
@@ -50,7 +50,8 @@ class IrFileImpl(
get() = fileEntry.maxOffset get() = fileEntry.maxOffset
@ObsoleteDescriptorBasedAPI @ObsoleteDescriptorBasedAPI
override val packageFragmentDescriptor: PackageFragmentDescriptor get() = symbol.descriptor override val packageFragmentDescriptor: PackageFragmentDescriptor
get() = symbol.descriptor
override val declarations: MutableList<IrDeclaration> = ArrayList() override val declarations: MutableList<IrDeclaration> = ArrayList()
@@ -19,25 +19,25 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
class IrLazyClass( class IrLazyClass(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrClassSymbol, override val symbol: IrClassSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: ClassDescriptor, override val descriptor: ClassDescriptor,
override val name: Name, override val name: Name,
override val kind: ClassKind, override val kind: ClassKind,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override var modality: Modality, override var modality: Modality,
override val isCompanion: Boolean, override val isCompanion: Boolean,
override val isInner: Boolean, override val isInner: Boolean,
override val isData: Boolean, override val isData: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isInline: Boolean, override val isInline: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val isFun: Boolean, override val isFun: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator override val typeTranslator: TypeTranslator
) : IrClass(), IrLazyDeclarationBase { ) : IrClass(), IrLazyDeclarationBase {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -22,19 +22,19 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
class IrLazyConstructor( class IrLazyConstructor(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol, override val symbol: IrConstructorSymbol,
override val descriptor: ClassConstructorDescriptor, override val descriptor: ClassConstructorDescriptor,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isPrimary: Boolean, override val isPrimary: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
) : IrConstructor(), IrLazyFunctionBase { ) : IrConstructor(), IrLazyFunctionBase {
override var parent: IrDeclarationParent by createLazyParent() override var parent: IrDeclarationParent by createLazyParent()
@@ -23,19 +23,19 @@ import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class IrLazyField( class IrLazyField(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrFieldSymbol, override val symbol: IrFieldSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: PropertyDescriptor, override val descriptor: PropertyDescriptor,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isFinal: Boolean, override val isFinal: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isStatic: Boolean, override val isStatic: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
) : IrField(), IrLazyDeclarationBase { ) : IrField(), IrLazyDeclarationBase {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -25,24 +25,24 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
class IrLazyFunction( class IrLazyFunction(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol, override val symbol: IrSimpleFunctionSymbol,
override val descriptor: FunctionDescriptor, override val descriptor: FunctionDescriptor,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
override val isInline: Boolean, override val isInline: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isTailrec: Boolean, override val isTailrec: Boolean,
override val isSuspend: Boolean, override val isSuspend: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val isFakeOverride: Boolean, override val isFakeOverride: Boolean,
override val isOperator: Boolean, override val isOperator: Boolean,
override val isInfix: Boolean, override val isInfix: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
) : IrSimpleFunction(), IrLazyFunctionBase { ) : IrSimpleFunction(), IrLazyFunctionBase {
override var parent: IrDeclarationParent by createLazyParent() override var parent: IrDeclarationParent by createLazyParent()
@@ -21,25 +21,25 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor
class IrLazyProperty( class IrLazyProperty(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol, override val symbol: IrPropertySymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: PropertyDescriptor, override val descriptor: PropertyDescriptor,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val modality: Modality, override val modality: Modality,
override val isVar: Boolean, override val isVar: Boolean,
override val isConst: Boolean, override val isConst: Boolean,
override val isLateinit: Boolean, override val isLateinit: Boolean,
override val isDelegated: Boolean, override val isDelegated: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val isFakeOverride: Boolean, override val isFakeOverride: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
bindingContext: BindingContext? = null bindingContext: BindingContext? = null
) : IrProperty(), IrLazyDeclarationBase { ) : IrProperty(), IrLazyDeclarationBase {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator
import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable
import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.ir.util.SymbolTable
class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable { class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable {
/*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will failed*/ /*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will failed*/
@@ -17,17 +17,17 @@ import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class IrLazyTypeAlias( class IrLazyTypeAlias(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, override var origin: IrDeclarationOrigin,
override val symbol: IrTypeAliasSymbol, override val symbol: IrTypeAliasSymbol,
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
override val descriptor: TypeAliasDescriptor, override val descriptor: TypeAliasDescriptor,
override val name: Name, override val name: Name,
override var visibility: DescriptorVisibility, override var visibility: DescriptorVisibility,
override val isActual: Boolean, override val isActual: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
) : IrTypeAlias(), IrLazyDeclarationBase { ) : IrTypeAlias(), IrLazyDeclarationBase {
init { init {
symbol.bind(this) symbol.bind(this)