diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt index 3abcb2334a2..b51ea1442f9 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt @@ -58,9 +58,8 @@ abstract class AbstractFir2IrLazyFunction( override val isInline: Boolean get() = fir.isInline - override var isExternal: Boolean by lazyVar { - fir.isExternal - } + override val isExternal: Boolean + get() = fir.isExternal override val isExpect: Boolean get() = fir.isExpect diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt index 69c05d294c3..8e88c2b00f1 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt @@ -84,11 +84,8 @@ class Fir2IrLazyClass( override val isData: Boolean get() = fir.isData - override var isExternal: Boolean + override val isExternal: Boolean get() = fir.isExternal - set(_) { - error("Mutating Fir2Ir lazy elements is not possible") - } override val isInline: Boolean get() = fir.isInline diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt index 12ec673b12e..54e3ae91eb2 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt @@ -50,11 +50,8 @@ class Fir2IrLazyConstructor( override val isInline: Boolean get() = fir.isInline - override var isExternal: Boolean + override val isExternal: Boolean get() = fir.isExternal - set(_) { - error("Mutating Fir2Ir lazy elements is not possible") - } override val isExpect: Boolean get() = fir.isExpect diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyProperty.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyProperty.kt index 5873eec2843..8dc975fe056 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyProperty.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyProperty.kt @@ -63,11 +63,8 @@ class Fir2IrLazyProperty( override val isDelegated: Boolean get() = fir.delegate != null - override var isExternal: Boolean + override val isExternal: Boolean get() = fir.isExternal - set(_) { - error("Mutating Fir2Ir lazy elements is not possible") - } override val isExpect: Boolean get() = fir.isExpect diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt index ec264e7d548..2f184aceeff 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt @@ -36,7 +36,7 @@ class IrClassImpl( override val isCompanion: Boolean = false, override val isInner: Boolean = false, override val isData: Boolean = false, - override var isExternal: Boolean = false, + override val isExternal: Boolean = false, override val isInline: Boolean = false, override val isExpect: Boolean = false, override val isFun: Boolean = false, diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt index 42b02e6120a..8bb9e678b54 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt @@ -38,7 +38,7 @@ class IrConstructorImpl( override var visibility: DescriptorVisibility, returnType: IrType, override val isInline: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isPrimary: Boolean, override val isExpect: Boolean, override val containerSource: DeserializedContainerSource? = null, diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt index 3cd259e3bea..c9602b4c5cf 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt @@ -36,7 +36,7 @@ class IrFieldImpl( override var type: IrType, override var visibility: DescriptorVisibility, override val isFinal: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isStatic: Boolean, ) : IrField() { init { diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt index f385e4ec8b4..21fe68874af 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt @@ -29,7 +29,7 @@ abstract class IrFunctionCommonImpl( override var visibility: DescriptorVisibility, returnType: IrType, override val isInline: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isTailrec: Boolean, override val isSuspend: Boolean, override val isOperator: Boolean, diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt index c0486f9f244..ec97784ef1a 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt @@ -37,7 +37,7 @@ abstract class IrPropertyCommonImpl( override val isConst: Boolean, override val isLateinit: Boolean, override val isDelegated: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isExpect: Boolean, override val containerSource: DeserializedContainerSource?, ) : IrProperty() { diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrClass.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrClass.kt index a88fb98cc66..73273f33650 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrClass.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrClass.kt @@ -42,7 +42,7 @@ internal class PersistentIrClass( override val isCompanion: Boolean = false, override val isInner: Boolean = false, override val isData: Boolean = false, - isExternal: Boolean = false, + override val isExternal: Boolean = false, override val isInline: Boolean = false, override val isExpect: Boolean = false, override val isFun: Boolean = false, @@ -152,17 +152,6 @@ internal class PersistentIrClass( } } - override var isExternalField: Boolean = isExternal - - override var isExternal: Boolean - get() = getCarrier().isExternalField - set(v) { - if (isExternal != v) { - setCarrier() - isExternalField = v - } - } - override var attributeOwnerIdField: IrAttributeContainer = this override var attributeOwnerId: IrAttributeContainer diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt index 21eb5d917d6..19d8055eed2 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt @@ -36,7 +36,7 @@ internal class PersistentIrConstructor( visibility: DescriptorVisibility, returnType: IrType, override val isInline: Boolean, - isExternal: Boolean, + override val isExternal: Boolean, override val isPrimary: Boolean, override val isExpect: Boolean, override val containerSource: DeserializedContainerSource?, @@ -158,17 +158,6 @@ internal class PersistentIrConstructor( } } - override var isExternalField: Boolean = isExternal - - override var isExternal: Boolean - get() = getCarrier().isExternalField - set(v) { - if (isExternal != v) { - setCarrier() - isExternalField = v - } - } - @ObsoleteDescriptorBasedAPI override val descriptor: ClassConstructorDescriptor get() = symbol.descriptor diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrField.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrField.kt index 4c0eece153c..e66e13e1cc8 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrField.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrField.kt @@ -32,7 +32,7 @@ internal class PersistentIrField( type: IrType, override var visibility: DescriptorVisibility, override val isFinal: Boolean, - isExternal: Boolean, + override val isExternal: Boolean, override val isStatic: Boolean, override val factory: PersistentIrFactory ) : IrField(), @@ -103,15 +103,4 @@ internal class PersistentIrField( typeField = v } } - - override var isExternalField: Boolean = isExternal - - override var isExternal: Boolean - get() = getCarrier().isExternalField - set(v) { - if (isExternal != v) { - setCarrier() - isExternalField = v - } - } } diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt index 95700b598b4..706e73fde30 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt @@ -35,7 +35,7 @@ internal abstract class PersistentIrFunctionCommon( visibility: DescriptorVisibility, returnType: IrType, override val isInline: Boolean, - isExternal: Boolean, + override val isExternal: Boolean, override val isTailrec: Boolean, override val isSuspend: Boolean, override val isOperator: Boolean, @@ -189,15 +189,4 @@ internal abstract class PersistentIrFunctionCommon( correspondingPropertySymbolField = v } } - - override var isExternalField: Boolean = isExternal - - override var isExternal: Boolean - get() = getCarrier().isExternalField - set(v) { - if (isExternal != v) { - setCarrier() - isExternalField = v - } - } } diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt index 7439ed82582..94676906e8c 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt @@ -31,7 +31,7 @@ internal abstract class PersistentIrPropertyCommon( override val isConst: Boolean, override val isLateinit: Boolean, override val isDelegated: Boolean, - isExternal: Boolean, + override val isExternal: Boolean, override val isExpect: Boolean, override val containerSource: DeserializedContainerSource?, override val factory: PersistentIrFactory @@ -104,15 +104,4 @@ internal abstract class PersistentIrPropertyCommon( attributeOwnerIdField = v } } - - override var isExternalField: Boolean = isExternal - - override var isExternal: Boolean - get() = getCarrier().isExternalField - set(v) { - if (isExternal != v) { - setCarrier() - isExternalField = v - } - } } diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ClassCarrier.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ClassCarrier.kt index 2735bd296a1..900d3b510f7 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ClassCarrier.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ClassCarrier.kt @@ -26,7 +26,6 @@ internal interface ClassCarrier : DeclarationCarrier{ val attributeOwnerIdField: IrAttributeContainer val typeParametersField: List val superTypesField: List - val isExternalField: Boolean override fun clone(): ClassCarrier { return ClassCarrierImpl( @@ -40,8 +39,7 @@ internal interface ClassCarrier : DeclarationCarrier{ modalityField, attributeOwnerIdField, typeParametersField, - superTypesField, - isExternalField + superTypesField ) } } @@ -57,6 +55,5 @@ internal class ClassCarrierImpl( override val modalityField: Modality, override val attributeOwnerIdField: IrAttributeContainer, override val typeParametersField: List, - override val superTypesField: List, - override val isExternalField: Boolean + override val superTypesField: List ) : ClassCarrier diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ConstructorCarrier.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ConstructorCarrier.kt index 2ffd5bd702b..4495036cd15 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ConstructorCarrier.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ConstructorCarrier.kt @@ -26,7 +26,6 @@ internal interface ConstructorCarrier : DeclarationCarrier{ val visibilityField: DescriptorVisibility val typeParametersField: List val valueParametersField: List - val isExternalField: Boolean override fun clone(): ConstructorCarrier { return ConstructorCarrierImpl( @@ -41,8 +40,7 @@ internal interface ConstructorCarrier : DeclarationCarrier{ metadataField, visibilityField, typeParametersField, - valueParametersField, - isExternalField + valueParametersField ) } } @@ -59,6 +57,5 @@ internal class ConstructorCarrierImpl( override val metadataField: MetadataSource?, override val visibilityField: DescriptorVisibility, override val typeParametersField: List, - override val valueParametersField: List, - override val isExternalField: Boolean + override val valueParametersField: List ) : ConstructorCarrier diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FieldCarrier.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FieldCarrier.kt index a331b9099c3..5131c2fdf5b 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FieldCarrier.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FieldCarrier.kt @@ -20,7 +20,6 @@ internal interface FieldCarrier : DeclarationCarrier{ val initializerField: IrExpressionBody? val correspondingPropertySymbolField: IrPropertySymbol? val metadataField: MetadataSource? - val isExternalField: Boolean override fun clone(): FieldCarrier { return FieldCarrierImpl( @@ -31,8 +30,7 @@ internal interface FieldCarrier : DeclarationCarrier{ typeField, initializerField, correspondingPropertySymbolField, - metadataField, - isExternalField + metadataField ) } } @@ -45,6 +43,5 @@ internal class FieldCarrierImpl( override val typeField: IrType, override val initializerField: IrExpressionBody?, override val correspondingPropertySymbolField: IrPropertySymbol?, - override val metadataField: MetadataSource?, - override val isExternalField: Boolean + override val metadataField: MetadataSource? ) : FieldCarrier diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FunctionCarrier.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FunctionCarrier.kt index 5e76693ccab..189c7528345 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FunctionCarrier.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/FunctionCarrier.kt @@ -32,7 +32,6 @@ internal interface FunctionCarrier : DeclarationCarrier{ val correspondingPropertySymbolField: IrPropertySymbol? val overriddenSymbolsField: List val attributeOwnerIdField: IrAttributeContainer - val isExternalField: Boolean override fun clone(): FunctionCarrier { return FunctionCarrierImpl( @@ -50,8 +49,7 @@ internal interface FunctionCarrier : DeclarationCarrier{ valueParametersField, correspondingPropertySymbolField, overriddenSymbolsField, - attributeOwnerIdField, - isExternalField + attributeOwnerIdField ) } } @@ -71,6 +69,5 @@ internal class FunctionCarrierImpl( override val valueParametersField: List, override val correspondingPropertySymbolField: IrPropertySymbol?, override val overriddenSymbolsField: List, - override val attributeOwnerIdField: IrAttributeContainer, - override val isExternalField: Boolean + override val attributeOwnerIdField: IrAttributeContainer ) : FunctionCarrier diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/PropertyCarrier.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/PropertyCarrier.kt index b1a91d5210c..d1fc7407db1 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/PropertyCarrier.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/carriers/PropertyCarrier.kt @@ -21,7 +21,6 @@ internal interface PropertyCarrier : DeclarationCarrier{ val setterField: IrSimpleFunction? val metadataField: MetadataSource? val attributeOwnerIdField: IrAttributeContainer - val isExternalField: Boolean override fun clone(): PropertyCarrier { return PropertyCarrierImpl( @@ -33,8 +32,7 @@ internal interface PropertyCarrier : DeclarationCarrier{ getterField, setterField, metadataField, - attributeOwnerIdField, - isExternalField + attributeOwnerIdField ) } } @@ -48,6 +46,5 @@ internal class PropertyCarrierImpl( override val getterField: IrSimpleFunction?, override val setterField: IrSimpleFunction?, override val metadataField: MetadataSource?, - override val attributeOwnerIdField: IrAttributeContainer, - override val isExternalField: Boolean + override val attributeOwnerIdField: IrAttributeContainer ) : PropertyCarrier diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Class.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Class.kt index 8705859e10f..6426eba2e97 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Class.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Class.kt @@ -13,7 +13,6 @@ internal fun PersistentIrGenerator.generateClass() { val metadataField = Field("metadata", irDeclaration("MetadataSource") + "?") val modalityField = Field("modality", descriptorType("Modality")) val attributeOwnerIdField = Field("attributeOwnerId", IrAttributeContainer) - val isExternalField = Field("isExternal", +"Boolean", notEq = "!=") writeFile("PersistentIrClass.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -69,7 +68,6 @@ internal fun PersistentIrGenerator.generateClass() { superTypesField.toPersistentField(+"emptyList()"), metadataField.toPersistentField(+"null"), modalityField.toPersistentField(+"modality"), - isExternalField.toPersistentField(+"isExternal"), attributeOwnerIdField.toPersistentField(+"this"), ), id, @@ -86,7 +84,6 @@ internal fun PersistentIrGenerator.generateClass() { attributeOwnerIdField, typeParametersField, superTypesField, - isExternalField, )() }) } \ No newline at end of file diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Constructor.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Constructor.kt index f6588ffc7dd..d9eed09dc3f 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Constructor.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Constructor.kt @@ -14,7 +14,6 @@ internal fun PersistentIrGenerator.generateConstructor() { val bodyField = Field("body", IrBody + "?") val metadataField = Field("metadata", MetadataSource + "?") val visibilityField = Field("visibility", DescriptorVisibility) - val isExternalField = Field("isExternal", +"Boolean", notEq = "!=") writeFile("PersistentIrConstructor.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -57,7 +56,6 @@ internal fun PersistentIrGenerator.generateConstructor() { bodyField.toBody(), metadataField.toPersistentField(+"null"), visibilityField.toPersistentField(+"visibility"), - isExternalField.toPersistentField(+"isExternal"), descriptor(ClassConstructorDescriptor) ), id, @@ -75,7 +73,6 @@ internal fun PersistentIrGenerator.generateConstructor() { visibilityField, typeParametersField, valueParametersField, - isExternalField, )() }) } \ No newline at end of file diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Field.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Field.kt index 8c913d57b18..b7ee1b9bd28 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Field.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Field.kt @@ -10,7 +10,6 @@ internal fun PersistentIrGenerator.generateField() { val correspondingPropertySymbolField = Field("correspondingPropertySymbol", IrPropertySymbol + "?") val metadataField = Field("metadata", MetadataSource + "?") val typeField = Field("type", IrType) - val isExternalField = Field("isExternal", +"Boolean", notEq = "!=") writeFile("PersistentIrField.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -37,7 +36,6 @@ internal fun PersistentIrGenerator.generateField() { correspondingPropertySymbolField.toPersistentField(+"null"), metadataField.toPersistentField(+"null"), typeField.toPersistentField(+"type"), - isExternalField.toPersistentField(+"isExternal"), ), id, )() @@ -50,7 +48,6 @@ internal fun PersistentIrGenerator.generateField() { initializerField, correspondingPropertySymbolField, metadataField, - isExternalField, )() }) } \ No newline at end of file diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Function.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Function.kt index 1940f5c32e0..19177cbf584 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Function.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Function.kt @@ -18,7 +18,6 @@ internal fun PersistentIrGenerator.generateFunction() { val overriddenSymbolsField = Field("overriddenSymbols", +"List<" + irSymbol("IrSimpleFunctionSymbol") + ">") val attributeOwnerIdField = Field("attributeOwnerId", IrAttributeContainer) val correspondingPropertySymbolField = Field("correspondingPropertySymbol", IrPropertySymbol + "?") - val isExternalField = Field("isExternal", +"Boolean", notEq = "!=") writeFile("PersistentIrFunctionCommon.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -74,7 +73,6 @@ internal fun PersistentIrGenerator.generateFunction() { attributeOwnerIdField.toPersistentField(+"this"), ), correspondingPropertySymbolField.toPersistentField(+"null"), - isExternalField.toPersistentField(+"isExternal") ), id, )() @@ -94,7 +92,6 @@ internal fun PersistentIrGenerator.generateFunction() { correspondingPropertySymbolField, overriddenSymbolsField, attributeOwnerIdField, - isExternalField, )() }) } \ No newline at end of file diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt index ac02b75b16d..187919a6989 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt @@ -70,7 +70,7 @@ internal object PersistentIrGenerator { val isCompanion = +"override val isCompanion: Boolean = false" val isInner = +"override val isInner: Boolean = false" val isData = +"override val isData: Boolean = false" - val isExternal = +"isExternal: Boolean" + val isExternal = +"override val isExternal: Boolean" val isFinal = +"override val isFinal: Boolean" val isInline = +"override val isInline: Boolean" val isExpect = +"override val isExpect: Boolean" diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt index 58fe12d906a..b624d902bd6 100644 --- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt +++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt @@ -11,7 +11,6 @@ internal fun PersistentIrGenerator.generateProperty() { val setterField = Field("setter", irDeclaration("IrSimpleFunction") + "?") val metadataField = Field("metadata", MetadataSource + "?") val attributeOwnerIdField = Field("attributeOwnerId", IrAttributeContainer) - val isExternalField = Field("isExternal", +"Boolean", notEq = "!=") writeFile("PersistentIrPropertyCommon.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -42,7 +41,6 @@ internal fun PersistentIrGenerator.generateProperty() { +"@Suppress(\"LeakingThis\")", attributeOwnerIdField.toPersistentField(+"this"), ), - isExternalField.toPersistentField(+"isExternal"), ), id, )() @@ -56,7 +54,6 @@ internal fun PersistentIrGenerator.generateProperty() { setterField, metadataField, attributeOwnerIdField, - isExternalField, )() }) } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt index f5a1939fd3e..6326ad900c1 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt @@ -61,7 +61,7 @@ interface IrDeclarationWithName : IrDeclaration { } interface IrPossiblyExternalDeclaration : IrDeclarationWithName { - var isExternal: Boolean + val isExternal: Boolean } interface IrOverridableMember : IrDeclarationWithVisibility, IrDeclarationWithName, IrSymbolOwner { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt index 052cbb850d9..247675cc629 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt @@ -32,7 +32,7 @@ class IrLazyClass( override val isCompanion: Boolean, override val isInner: Boolean, override val isData: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isInline: Boolean, override val isExpect: Boolean, override val isFun: Boolean, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt index b7f2ba5f21e..81928a1efd8 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt @@ -30,7 +30,7 @@ class IrLazyConstructor( override val name: Name, override var visibility: DescriptorVisibility, override val isInline: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isPrimary: Boolean, override val isExpect: Boolean, override val stubGenerator: DeclarationStubGenerator, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyField.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyField.kt index e60906656f2..414072adfe2 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyField.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyField.kt @@ -32,7 +32,7 @@ class IrLazyField( override val name: Name, override var visibility: DescriptorVisibility, override val isFinal: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isStatic: Boolean, override val stubGenerator: DeclarationStubGenerator, override val typeTranslator: TypeTranslator, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt index 890485c8c2e..1ca7751f7ff 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt @@ -34,7 +34,7 @@ class IrLazyFunction( override var visibility: DescriptorVisibility, override val modality: Modality, override val isInline: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isTailrec: Boolean, override val isSuspend: Boolean, override val isExpect: Boolean, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyProperty.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyProperty.kt index f643fe45a77..52b2265fc34 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyProperty.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyProperty.kt @@ -32,7 +32,7 @@ class IrLazyProperty( override val isConst: Boolean, override val isLateinit: Boolean, override val isDelegated: Boolean, - override var isExternal: Boolean, + override val isExternal: Boolean, override val isExpect: Boolean, override val isFakeOverride: Boolean, override val stubGenerator: DeclarationStubGenerator, diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrDeclarationDeserializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrDeclarationDeserializer.kt index fd541282ad9..a9a294d13dd 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrDeclarationDeserializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrDeclarationDeserializer.kt @@ -634,22 +634,21 @@ class IrDeclarationDeserializer( flags.isFakeOverride ) }.apply { - if (proto.hasGetter()) { - getter = deserializeIrFunction(proto.getter).also { - it.correspondingPropertySymbol = symbol - it.isExternal = this.isExternal + withExternalValue(isExternal) { + if (proto.hasGetter()) { + getter = deserializeIrFunction(proto.getter).also { + it.correspondingPropertySymbol = symbol + } } - } - if (proto.hasSetter()) { - setter = deserializeIrFunction(proto.setter).also { - it.correspondingPropertySymbol = symbol - it.isExternal = this.isExternal + if (proto.hasSetter()) { + setter = deserializeIrFunction(proto.setter).also { + it.correspondingPropertySymbol = symbol + } } - } - if (proto.hasBackingField()) { - backingField = deserializeIrField(proto.backingField).also { - it.correspondingPropertySymbol = symbol - it.isExternal = this.isExternal + if (proto.hasBackingField()) { + backingField = deserializeIrField(proto.backingField).also { + it.correspondingPropertySymbol = symbol + } } } }