PIR: make most implementations and carriers internal

This commit is contained in:
Alexander Udalov
2020-07-28 13:15:39 +02:00
parent cce55f1609
commit 0909894a96
29 changed files with 45 additions and 50 deletions
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.AnonymousInitial
import org.jetbrains.kotlin.ir.expressions.IrBlockBody import org.jetbrains.kotlin.ir.expressions.IrBlockBody
import org.jetbrains.kotlin.ir.symbols.IrAnonymousInitializerSymbol import org.jetbrains.kotlin.ir.symbols.IrAnonymousInitializerSymbol
class PersistentIrAnonymousInitializer( internal class PersistentIrAnonymousInitializer(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import java.util.* import java.util.*
class PersistentIrClass( internal class PersistentIrClass(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
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
class PersistentIrConstructor( internal class PersistentIrConstructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class PersistentIrEnumEntry( internal class PersistentIrEnumEntry(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.declarations.IrErrorDeclaration
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorCarrier import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorCarrier
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
class PersistentIrErrorDeclaration( internal class PersistentIrErrorDeclaration(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
override val descriptor: DeclarationDescriptor override val descriptor: DeclarationDescriptor
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
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
class PersistentIrField( internal class PersistentIrField(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
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
abstract class PersistentIrFunctionCommon( internal abstract class PersistentIrFunctionCommon(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -71,7 +71,7 @@ abstract class PersistentIrFunctionCommon(
} }
} }
class PersistentIrFunction( internal class PersistentIrFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -101,7 +101,7 @@ class PersistentIrFunction(
} }
} }
class PersistentIrFakeOverrideFunction( internal class PersistentIrFakeOverrideFunction(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBody
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
abstract class PersistentIrFunctionBase<T : FunctionBaseCarrier>( internal abstract class PersistentIrFunctionBase<T : FunctionBaseCarrier>(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
// TODO make not persistent // TODO make not persistent
class PersistentIrLocalDelegatedProperty( internal class PersistentIrLocalDelegatedProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.descriptors.WrappedPropertyDescriptor
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
abstract class PersistentIrPropertyCommon( internal abstract class PersistentIrPropertyCommon(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -83,7 +83,7 @@ abstract class PersistentIrPropertyCommon(
} }
} }
class PersistentIrProperty( internal class PersistentIrProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -110,7 +110,7 @@ class PersistentIrProperty(
get() = symbol.descriptor get() = symbol.descriptor
} }
class PersistentIrFakeOverrideProperty( internal class PersistentIrFakeOverrideProperty(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.ir.symbols.IrTypeAliasSymbol
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
class PersistentIrTypeAlias( internal class PersistentIrTypeAlias(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
override val symbol: IrTypeAliasSymbol, override val symbol: IrTypeAliasSymbol,
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.SmartList import org.jetbrains.kotlin.utils.SmartList
class PersistentIrTypeParameter( internal class PersistentIrTypeParameter(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
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
class PersistentIrValueParameter( internal class PersistentIrValueParameter(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.expressions.IrBlockBody import org.jetbrains.kotlin.ir.expressions.IrBlockBody
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
interface AnonymousInitializerCarrier : DeclarationCarrier { internal interface AnonymousInitializerCarrier : DeclarationCarrier {
var bodyField: IrBlockBody? var bodyField: IrBlockBody?
override fun clone(): AnonymousInitializerCarrier { override fun clone(): AnonymousInitializerCarrier {
@@ -24,7 +24,7 @@ interface AnonymousInitializerCarrier : DeclarationCarrier {
} }
} }
class AnonymousInitializerCarrierImpl( internal class AnonymousInitializerCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclaration
interface BodyCarrier : Carrier { interface BodyCarrier : Carrier {
var containerField: IrDeclaration? var containerField: IrDeclaration?
override fun clone(): BodyCarrier { override fun clone(): BodyCarrier {
@@ -16,7 +15,7 @@ interface BodyCarrier : Carrier {
} }
} }
class BodyCarrierImpl( internal class BodyCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var containerField: IrDeclaration? override var containerField: IrDeclaration?
) : BodyCarrier ) : BodyCarrier
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
interface ClassCarrier : DeclarationCarrier { internal interface ClassCarrier : DeclarationCarrier {
var thisReceiverField: IrValueParameter? var thisReceiverField: IrValueParameter?
var metadataField: MetadataSource? var metadataField: MetadataSource?
var visibilityField: Visibility var visibilityField: Visibility
@@ -37,7 +37,7 @@ interface ClassCarrier : DeclarationCarrier {
} }
} }
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,
@@ -11,8 +11,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
interface ConstructorCarrier : FunctionBaseCarrier { internal interface ConstructorCarrier : FunctionBaseCarrier {
override fun clone(): ConstructorCarrier { override fun clone(): ConstructorCarrier {
return ConstructorCarrierImpl( return ConstructorCarrierImpl(
lastModified, lastModified,
@@ -31,7 +30,7 @@ interface ConstructorCarrier : FunctionBaseCarrier {
} }
} }
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,
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
interface EnumEntryCarrier : DeclarationCarrier { internal interface EnumEntryCarrier : DeclarationCarrier {
var correspondingClassField: IrClass? var correspondingClassField: IrClass?
var initializerExpressionField: IrExpressionBody? var initializerExpressionField: IrExpressionBody?
@@ -27,7 +27,7 @@ interface EnumEntryCarrier : DeclarationCarrier {
} }
} }
class EnumEntryCarrierImpl( internal class EnumEntryCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -9,14 +9,13 @@ 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 ErrorCarrier : DeclarationCarrier { internal interface ErrorCarrier : DeclarationCarrier {
override fun clone(): ErrorCarrier { override fun clone(): ErrorCarrier {
return ErrorCarrierImpl(lastModified, parentField, originField, annotationsField) return ErrorCarrierImpl(lastModified, parentField, originField, annotationsField)
} }
} }
class ErrorCarrierImpl( internal class ErrorCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
interface FieldCarrier : DeclarationCarrier { internal interface FieldCarrier : DeclarationCarrier {
var initializerField: IrExpressionBody? var initializerField: IrExpressionBody?
var correspondingPropertySymbolField: IrPropertySymbol? var correspondingPropertySymbolField: IrPropertySymbol?
var metadataField: MetadataSource? var metadataField: MetadataSource?
@@ -30,7 +30,7 @@ interface FieldCarrier : DeclarationCarrier {
} }
} }
class FieldCarrierImpl( internal class FieldCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.declarations.MetadataSource
import org.jetbrains.kotlin.ir.expressions.IrBody import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
interface FunctionBaseCarrier : DeclarationCarrier { internal interface FunctionBaseCarrier : DeclarationCarrier {
var returnTypeFieldField: IrType var returnTypeFieldField: IrType
var dispatchReceiverParameterField: IrValueParameter? var dispatchReceiverParameterField: IrValueParameter?
var extensionReceiverParameterField: IrValueParameter? var extensionReceiverParameterField: IrValueParameter?
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
interface FunctionCarrier : FunctionBaseCarrier { internal interface FunctionCarrier : FunctionBaseCarrier {
var correspondingPropertySymbolField: IrPropertySymbol? var correspondingPropertySymbolField: IrPropertySymbol?
var overriddenSymbolsField: List<IrSimpleFunctionSymbol> var overriddenSymbolsField: List<IrSimpleFunctionSymbol>
var attributeOwnerIdField: IrAttributeContainer var attributeOwnerIdField: IrAttributeContainer
@@ -39,7 +39,7 @@ interface FunctionCarrier : FunctionBaseCarrier {
} }
} }
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,
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
interface LocalDelegatedPropertyCarrier : DeclarationCarrier { internal interface LocalDelegatedPropertyCarrier : DeclarationCarrier {
var delegateField: IrVariable? var delegateField: IrVariable?
var getterField: IrFunction? var getterField: IrFunction?
var setterField: IrFunction? var setterField: IrFunction?
@@ -28,7 +28,7 @@ interface LocalDelegatedPropertyCarrier : DeclarationCarrier {
} }
} }
class LocalDelegatedPropertyCarrierImpl( internal class LocalDelegatedPropertyCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.declarations.persistent.carriers
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
interface PropertyCarrier : DeclarationCarrier { internal interface PropertyCarrier : DeclarationCarrier {
var backingFieldField: IrField? var backingFieldField: IrField?
var getterField: IrSimpleFunction? var getterField: IrSimpleFunction?
var setterField: IrSimpleFunction? var setterField: IrSimpleFunction?
@@ -28,7 +28,7 @@ interface PropertyCarrier : DeclarationCarrier {
} }
} }
class PropertyCarrierImpl( internal class PropertyCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -10,8 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
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
interface TypeAliasCarrier : DeclarationCarrier { internal interface TypeAliasCarrier : DeclarationCarrier {
var typeParametersField: List<IrTypeParameter> var typeParametersField: List<IrTypeParameter>
override fun clone(): TypeAliasCarrier { override fun clone(): TypeAliasCarrier {
@@ -25,7 +24,7 @@ interface TypeAliasCarrier : DeclarationCarrier {
} }
} }
class TypeAliasCarrierImpl( internal class TypeAliasCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -9,14 +9,13 @@ 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 TypeParameterCarrier : DeclarationCarrier { internal interface TypeParameterCarrier : DeclarationCarrier {
override fun clone(): TypeParameterCarrier { override fun clone(): TypeParameterCarrier {
return TypeParameterCarrierImpl(lastModified, parentField, originField, annotationsField) return TypeParameterCarrierImpl(lastModified, parentField, originField, annotationsField)
} }
} }
class TypeParameterCarrierImpl( internal class TypeParameterCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
interface ValueParameterCarrier : DeclarationCarrier { internal interface ValueParameterCarrier : DeclarationCarrier {
var defaultValueField: IrExpressionBody? var defaultValueField: IrExpressionBody?
override fun clone(): ValueParameterCarrier { override fun clone(): ValueParameterCarrier {
@@ -18,7 +18,7 @@ interface ValueParameterCarrier : DeclarationCarrier {
} }
} }
class ValueParameterCarrierImpl( internal class ValueParameterCarrierImpl(
override val lastModified: Int, override val lastModified: Int,
override var parentField: IrDeclarationParent?, override var parentField: IrDeclarationParent?,
override var originField: IrDeclarationOrigin, override var originField: IrDeclarationOrigin,
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrBodyBase
import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory
import org.jetbrains.kotlin.ir.expressions.IrBlockBody import org.jetbrains.kotlin.ir.expressions.IrBlockBody
class PersistentIrBlockBody( internal class PersistentIrBlockBody(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
initializer: (IrBlockBody.() -> Unit)? = null initializer: (IrBlockBody.() -> Unit)? = null
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory
import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
class PersistentIrExpressionBody private constructor( internal class PersistentIrExpressionBody private constructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
private var expressionField: IrExpression? = null, private var expressionField: IrExpression? = null,