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 620c682c921..29f78679267 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 @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.descriptors.DescriptorVisibility import org.jetbrains.kotlin.fir.backend.ConversionTypeContext import org.jetbrains.kotlin.fir.backend.ConversionTypeOrigin import org.jetbrains.kotlin.fir.symbols.Fir2IrSimpleFunctionSymbol +import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol class Fir2IrLazyProperty( components: Fir2IrComponents, @@ -183,6 +184,10 @@ class Fir2IrLazyProperty( } } + override var overriddenSymbols: List by lazyVar(lock) { + emptyList() // TODO calculate overridden symbols for property + } + override var metadata: MetadataSource? get() = null set(_) = error("We should never need to store metadata of external declarations.") diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java index f2dd63ca4c1..31b8a84a015 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java @@ -1508,6 +1508,12 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest { runTest("compiler/testData/ir/irText/expressions/propertyReferences.kt"); } + @Test + @TestMetadata("protectedJavaFieldRef.kt") + public void testProtectedJavaFieldRef() throws Exception { + runTest("compiler/testData/ir/irText/expressions/protectedJavaFieldRef.kt"); + } + @Test @TestMetadata("references.kt") public void testReferences() throws Exception { diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/PropertyGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/PropertyGenerator.kt index 301e424f038..78f738a14e3 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/PropertyGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/PropertyGenerator.kt @@ -59,6 +59,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio irProperty.setter = generateSetterIfRequired(ktEntry, propertyDescriptor) irProperty.linkCorrespondingPropertySymbol() + irProperty.generateOverrides(propertyDescriptor) } } @@ -68,8 +69,10 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio } fun generateSyntheticProperty( - ktDeclarationContainer: KtElement, propertyDescriptor: PropertyDescriptor, - irValueParameter: IrValueParameter?, generateSyntheticAccessors: Boolean = false + ktDeclarationContainer: KtElement, + propertyDescriptor: PropertyDescriptor, + irValueParameter: IrValueParameter?, + generateSyntheticAccessors: Boolean = false ): IrProperty { val irPropertyType = propertyDescriptor.type.toIrType() return generateSyntheticPropertyWithInitializer(ktDeclarationContainer, propertyDescriptor, generateSyntheticAccessors) { @@ -88,8 +91,10 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio } fun generateSyntheticPropertyWithInitializer( - ktDeclarationContainer: KtElement, propertyDescriptor: PropertyDescriptor, - generateSyntheticAccessors: Boolean, generateInitializer: (IrField) -> IrExpressionBody? + ktDeclarationContainer: KtElement, + propertyDescriptor: PropertyDescriptor, + generateSyntheticAccessors: Boolean, + generateInitializer: (IrField) -> IrExpressionBody? ): IrProperty { return context.symbolTable.declareProperty( ktDeclarationContainer.startOffsetSkippingComments, ktDeclarationContainer.endOffset, @@ -141,6 +146,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio } irProperty.linkCorrespondingPropertySymbol() + irProperty.generateOverrides(propertyDescriptor) } } @@ -166,6 +172,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio ): IrProperty = DelegatedPropertyGenerator(declarationGenerator) .generateDelegatedProperty(ktProperty, ktDelegate, propertyDescriptor) + .apply { generateOverrides(propertyDescriptor) } private fun PropertyDescriptor.actuallyHasBackingField(bindingContext: BindingContext) = hasBackingField(bindingContext) || context.extensions.isPropertyWithPlatformField(this) @@ -208,6 +215,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio irProperty.setter = generateSetterIfRequired(ktProperty, propertyDescriptor) irProperty.linkCorrespondingPropertySymbol() + irProperty.generateOverrides(propertyDescriptor) } fun generateFakeOverrideProperty(propertyDescriptor: PropertyDescriptor, ktElement: KtPureElement): IrProperty? { @@ -224,9 +232,17 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio FunctionGenerator(declarationGenerator).generateFakeOverrideFunction(it, ktElement) } this.linkCorrespondingPropertySymbol() + this.generateOverrides(propertyDescriptor) } } + private fun IrProperty.generateOverrides(propertyDescriptor: PropertyDescriptor) { + overriddenSymbols = + propertyDescriptor.overriddenDescriptors.map { overriddenPropertyDescriptor -> + context.symbolTable.referenceProperty(overriddenPropertyDescriptor.original) + } + } + private fun generateGetterIfRequired(ktProperty: KtVariableDeclaration, property: PropertyDescriptor): IrSimpleFunction? { val getter = property.getter ?: return null return FunctionGenerator(declarationGenerator).generatePropertyAccessor(getter, ktProperty, (ktProperty as? KtProperty)?.getter) @@ -243,9 +259,6 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio return variableDescriptor as? PropertyDescriptor ?: TODO("not a property: $variableDescriptor") } - private val DescriptorVisibility.admitsFakeOverride: Boolean - get() = !DescriptorVisibilities.isPrivate(this) && this != DescriptorVisibilities.INVISIBLE_FAKE - private val PropertyDescriptor.fieldVisibility: DescriptorVisibility get() = declarationGenerator.context.extensions.computeFieldVisibility(this) ?: when { diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt index 60321f098ac..0393651d226 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt @@ -426,7 +426,11 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St } } - private class DelegatedPropertySymbols(val propertySymbol: IrPropertySymbol, val getterSymbol: IrSimpleFunctionSymbol?, val setterSymbol: IrSimpleFunctionSymbol?) + private class DelegatedPropertySymbols( + val propertySymbol: IrPropertySymbol, + val getterSymbol: IrSimpleFunctionSymbol?, + val setterSymbol: IrSimpleFunctionSymbol? + ) private class IrSyntheticJavaProperty( @ObsoleteDescriptorBasedAPI @@ -453,6 +457,9 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St get() = descriptor.isExpect override val isFakeOverride: Boolean get() = false + override var overriddenSymbols: List + get() = emptyList() + set(_) {} override var backingField: IrField? get() = null set(_) {} 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 ec97784ef1a..711dc02a784 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 @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol +import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource @@ -53,6 +54,8 @@ abstract class IrPropertyCommonImpl( override var setter: IrSimpleFunction? = null + override var overriddenSymbols: List = emptyList() + override var metadata: MetadataSource? = null override var attributeOwnerId: IrAttributeContainer = this 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 71957244dcf..b0daa39cc07 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 @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier import org.jetbrains.kotlin.ir.declarations.persistent.carriers.PropertyCarrier import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol +import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource @@ -102,6 +103,17 @@ internal abstract class PersistentIrPropertyCommon( } } + override var overriddenSymbolsField: List = emptyList() + + override var overriddenSymbols: List + get() = getCarrier().overriddenSymbolsField + set(v) { + if (overriddenSymbols !== v) { + setCarrier() + overriddenSymbolsField = v + } + } + override var metadata: MetadataSource? = null @Suppress("LeakingThis") 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 eac8b6b3a38..0612b36c38d 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 @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrField import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol +import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol @@ -22,6 +23,7 @@ internal interface PropertyCarrier : DeclarationCarrier{ val getterSymbolField: IrSimpleFunctionSymbol? val setterField: IrSimpleFunction? val setterSymbolField: IrSimpleFunctionSymbol? + val overriddenSymbolsField: List override fun clone(): PropertyCarrier { return PropertyCarrierImpl( @@ -31,7 +33,8 @@ internal interface PropertyCarrier : DeclarationCarrier{ annotationsField, backingFieldSymbolField, getterSymbolField, - setterSymbolField + setterSymbolField, + overriddenSymbolsField ) } } @@ -43,7 +46,8 @@ internal class PropertyCarrierImpl( override val annotationsField: List, override val backingFieldSymbolField: IrFieldSymbol?, override val getterSymbolField: IrSimpleFunctionSymbol?, - override val setterSymbolField: IrSimpleFunctionSymbol? + override val setterSymbolField: IrSimpleFunctionSymbol?, + override val overriddenSymbolsField: List ) : PropertyCarrier { override val backingFieldField: IrField? diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt index e7e2e6b6aea..7ac0f06af71 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt @@ -236,7 +236,8 @@ internal abstract class IrCarrierDeserializer { proto.annotationList.map { deserializeAnnotation(it) }, if (proto.hasBackingField()) deserializeField(proto.backingField) else null, if (proto.hasGetter()) deserializeSimpleFunction(proto.getter) else null, - if (proto.hasSetter()) deserializeSimpleFunction(proto.setter) else null + if (proto.hasSetter()) deserializeSimpleFunction(proto.setter) else null, + proto.overriddenSymbolsList.map { deserializePropertySymbol(it) } ) } diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt index 39e05ef83f6..9b86fb683d6 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt @@ -213,6 +213,7 @@ internal abstract class IrCarrierSerializer { carrier.backingFieldSymbolField?.let { proto.setBackingField(serializeField(it)) } carrier.getterSymbolField?.let { proto.setGetter(serializeSimpleFunction(it)) } carrier.setterSymbolField?.let { proto.setSetter(serializeSimpleFunction(it)) } + proto.addAllOverriddenSymbols(carrier.overriddenSymbolsField.map { serializePropertySymbol(it) }) return proto.build().toByteArray() } 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 e2c04e4b2a0..fd3e26f6050 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 @@ -152,6 +152,9 @@ internal object PersistentIrGenerator { val simpleFunctionProto = Proto("int64", "simpleFunction", +"Long", IrSimpleFunctionSymbol) val simpleFunctionSymbolListProto = Proto("int64", "simpleFunctionSymbol", +"Long", IrSimpleFunctionSymbol, fieldKind = FieldKind.REPEATED) + val propertySymbolListProto = + Proto("int64", "propertySymbol", +"Long", IrPropertySymbol, fieldKind = FieldKind.REPEATED) + val fieldProto = Proto("int64", "field", +"Long", IrFieldSymbol) val visibilityProto = Proto(null, "visibility", +"Long", DescriptorVisibility) 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 4293a1b6c41..21bf1f3882f 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 @@ -30,6 +30,11 @@ internal fun PersistentIrGenerator.generateProperty() { symbolToDeclaration = +"?.owner", declarationToSymbol = +"?.symbol" ) + val overriddenSymbolsField = Field( + "overriddenSymbols", + +"List<" + IrPropertySymbol + ">", + propertySymbolListProto + ) writeFile("PersistentIrPropertyCommon.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") { lines( @@ -55,6 +60,7 @@ internal fun PersistentIrGenerator.generateProperty() { backingFieldField.toPersistentField(+"null"), getterField.toPersistentField(+"null"), setterField.toPersistentField(+"null"), + overriddenSymbolsField.toPersistentField(+"emptyList()"), +"override var metadata: " + MetadataSource + "? = null", lines( +"@Suppress(\"LeakingThis\")", @@ -71,6 +77,7 @@ internal fun PersistentIrGenerator.generateProperty() { backingFieldField, getterField, setterField, + overriddenSymbolsField, )() }) @@ -79,5 +86,6 @@ internal fun PersistentIrGenerator.generateProperty() { backingFieldField, getterField, setterField, + overriddenSymbolsField, ) } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt index 9db122e2fcd..a32f28e1f6f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrProperty.kt @@ -23,7 +23,14 @@ import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor abstract class IrProperty : - IrDeclarationBase(), IrPossiblyExternalDeclaration, IrOverridableMember, IrMetadataSourceOwner, IrAttributeContainer, IrMemberWithContainerSource { + IrDeclarationBase(), + IrPossiblyExternalDeclaration, + IrOverridableMember, + IrOverridableDeclaration, + IrMetadataSourceOwner, + IrAttributeContainer, + IrMemberWithContainerSource { + @ObsoleteDescriptorBasedAPI abstract override val descriptor: PropertyDescriptor abstract override val symbol: IrPropertySymbol 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 b832b3d04b8..33764a18643 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 @@ -59,14 +59,22 @@ class IrLazyProperty( } override var getter: IrSimpleFunction? by lazyVar(stubGenerator.lock) { - descriptor.getter?.let { stubGenerator.generateFunctionStub(it, createPropertyIfNeeded = false) }?.apply { - correspondingPropertySymbol = this@IrLazyProperty.symbol + descriptor.getter?.let { + stubGenerator.generateFunctionStub(it, createPropertyIfNeeded = false) + .apply { correspondingPropertySymbol = this@IrLazyProperty.symbol } } } override var setter: IrSimpleFunction? by lazyVar(stubGenerator.lock) { - descriptor.setter?.let { stubGenerator.generateFunctionStub(it, createPropertyIfNeeded = false) }?.apply { - correspondingPropertySymbol = this@IrLazyProperty.symbol + descriptor.setter?.let { + stubGenerator.generateFunctionStub(it, createPropertyIfNeeded = false) + .apply { correspondingPropertySymbol = this@IrLazyProperty.symbol } + } + } + + override var overriddenSymbols: List by lazyVar(stubGenerator.lock) { + descriptor.overriddenDescriptors.mapTo(ArrayList()) { + stubGenerator.generatePropertyStub(it).symbol } } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 4c497d71c66..333b3f0e278 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -248,6 +248,9 @@ open class DeepCopyIrTreeWithSymbols( this.setter = declaration.setter?.transform()?.also { it.correspondingPropertySymbol = symbol } + this.overriddenSymbols = declaration.overriddenSymbols.map { + symbolRemapper.getReferencedProperty(it) + } } override fun visitField(declaration: IrField): IrField = diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt index afca018a5bb..db06e6f2319 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt @@ -99,9 +99,7 @@ class DumpIrTreeVisitor( declaration.dumpLabeledElementWith(data) { dumpAnnotations(declaration) declaration.correspondingPropertySymbol?.dumpInternal("correspondingProperty") - declaration.overriddenSymbols.dumpItems("overridden") { - it.dump() - } + declaration.overriddenSymbols.dumpItems("overridden") { it.dump() } declaration.typeParameters.dumpElements() declaration.dispatchReceiverParameter?.accept(this, "\$this") declaration.extensionReceiverParameter?.accept(this, "\$receiver") @@ -136,6 +134,7 @@ class DumpIrTreeVisitor( override fun visitProperty(declaration: IrProperty, data: String) { declaration.dumpLabeledElementWith(data) { dumpAnnotations(declaration) + declaration.overriddenSymbols.dumpItems("overridden") { it.dump() } declaration.backingField?.accept(this, "") declaration.getter?.accept(this, "") declaration.setter?.accept(this, "") diff --git a/compiler/ir/serialization.common/src/KotlinPirCarriers.proto b/compiler/ir/serialization.common/src/KotlinPirCarriers.proto index 91931577dde..faa5f04b714 100644 --- a/compiler/ir/serialization.common/src/KotlinPirCarriers.proto +++ b/compiler/ir/serialization.common/src/KotlinPirCarriers.proto @@ -104,6 +104,7 @@ message PirPropertyCarrier { optional int64 backingField = 5; optional int64 getter = 6; optional int64 setter = 7; + repeated int64 overriddenSymbols = 8; } message PirTypeAliasCarrier { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrier.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrier.java index d67cf65de01..25676f387f9 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrier.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrier.java @@ -91,6 +91,27 @@ public final class PirPropertyCarrier extends setter_ = input.readInt64(); break; } + case 64: { + if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + overriddenSymbols_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000080; + } + overriddenSymbols_.add(input.readInt64()); + break; + } + case 66: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000080) == 0x00000080) && input.getBytesUntilLimit() > 0) { + overriddenSymbols_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000080; + } + while (input.getBytesUntilLimit() > 0) { + overriddenSymbols_.add(input.readInt64()); + } + input.popLimit(limit); + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -102,6 +123,9 @@ public final class PirPropertyCarrier extends if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { annotation_ = java.util.Collections.unmodifiableList(annotation_); } + if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + overriddenSymbols_ = java.util.Collections.unmodifiableList(overriddenSymbols_); + } try { unknownFieldsCodedOutput.flush(); } catch (java.io.IOException e) { @@ -253,6 +277,28 @@ public final class PirPropertyCarrier extends return setter_; } + public static final int OVERRIDDENSYMBOLS_FIELD_NUMBER = 8; + private java.util.List overriddenSymbols_; + /** + * repeated int64 overriddenSymbols = 8; + */ + public java.util.List + getOverriddenSymbolsList() { + return overriddenSymbols_; + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public int getOverriddenSymbolsCount() { + return overriddenSymbols_.size(); + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public long getOverriddenSymbols(int index) { + return overriddenSymbols_.get(index); + } + private void initFields() { lastModified_ = 0; parentSymbol_ = 0L; @@ -261,6 +307,7 @@ public final class PirPropertyCarrier extends backingField_ = 0L; getter_ = 0L; setter_ = 0L; + overriddenSymbols_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -306,6 +353,9 @@ public final class PirPropertyCarrier extends if (((bitField0_ & 0x00000020) == 0x00000020)) { output.writeInt64(7, setter_); } + for (int i = 0; i < overriddenSymbols_.size(); i++) { + output.writeInt64(8, overriddenSymbols_.get(i)); + } output.writeRawBytes(unknownFields); } @@ -343,6 +393,15 @@ public final class PirPropertyCarrier extends size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeInt64Size(7, setter_); } + { + int dataSize = 0; + for (int i = 0; i < overriddenSymbols_.size(); i++) { + dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeInt64SizeNoTag(overriddenSymbols_.get(i)); + } + size += dataSize; + size += 1 * getOverriddenSymbolsList().size(); + } size += unknownFields.size(); memoizedSerializedSize = size; return size; @@ -451,6 +510,8 @@ public final class PirPropertyCarrier extends bitField0_ = (bitField0_ & ~0x00000020); setter_ = 0L; bitField0_ = (bitField0_ & ~0x00000040); + overriddenSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); return this; } @@ -503,6 +564,11 @@ public final class PirPropertyCarrier extends to_bitField0_ |= 0x00000020; } result.setter_ = setter_; + if (((bitField0_ & 0x00000080) == 0x00000080)) { + overriddenSymbols_ = java.util.Collections.unmodifiableList(overriddenSymbols_); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.overriddenSymbols_ = overriddenSymbols_; result.bitField0_ = to_bitField0_; return result; } @@ -537,6 +603,16 @@ public final class PirPropertyCarrier extends if (other.hasSetter()) { setSetter(other.getSetter()); } + if (!other.overriddenSymbols_.isEmpty()) { + if (overriddenSymbols_.isEmpty()) { + overriddenSymbols_ = other.overriddenSymbols_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureOverriddenSymbolsIsMutable(); + overriddenSymbols_.addAll(other.overriddenSymbols_); + } + + } setUnknownFields( getUnknownFields().concat(other.unknownFields)); return this; @@ -892,6 +968,72 @@ public final class PirPropertyCarrier extends return this; } + private java.util.List overriddenSymbols_ = java.util.Collections.emptyList(); + private void ensureOverriddenSymbolsIsMutable() { + if (!((bitField0_ & 0x00000080) == 0x00000080)) { + overriddenSymbols_ = new java.util.ArrayList(overriddenSymbols_); + bitField0_ |= 0x00000080; + } + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public java.util.List + getOverriddenSymbolsList() { + return java.util.Collections.unmodifiableList(overriddenSymbols_); + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public int getOverriddenSymbolsCount() { + return overriddenSymbols_.size(); + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public long getOverriddenSymbols(int index) { + return overriddenSymbols_.get(index); + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public Builder setOverriddenSymbols( + int index, long value) { + ensureOverriddenSymbolsIsMutable(); + overriddenSymbols_.set(index, value); + + return this; + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public Builder addOverriddenSymbols(long value) { + ensureOverriddenSymbolsIsMutable(); + overriddenSymbols_.add(value); + + return this; + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public Builder addAllOverriddenSymbols( + java.lang.Iterable values) { + ensureOverriddenSymbolsIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, overriddenSymbols_); + + return this; + } + /** + * repeated int64 overriddenSymbols = 8; + */ + public Builder clearOverriddenSymbols() { + overriddenSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + + return this; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.proto.PirPropertyCarrier) } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrierOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrierOrBuilder.java index 42872f82783..1bae27f6e2b 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrierOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/PirPropertyCarrierOrBuilder.java @@ -74,4 +74,17 @@ public interface PirPropertyCarrierOrBuilder extends * optional int64 setter = 7; */ long getSetter(); + + /** + * repeated int64 overriddenSymbols = 8; + */ + java.util.List getOverriddenSymbolsList(); + /** + * repeated int64 overriddenSymbols = 8; + */ + int getOverriddenSymbolsCount(); + /** + * repeated int64 overriddenSymbols = 8; + */ + long getOverriddenSymbols(int index); } \ No newline at end of file diff --git a/compiler/testData/codegen/box/fir/callableReferenceToJavaField.txt b/compiler/testData/codegen/box/fir/callableReferenceToJavaField.txt index 372796c4ab3..d7d22617ec2 100644 --- a/compiler/testData/codegen/box/fir/callableReferenceToJavaField.txt +++ b/compiler/testData/codegen/box/fir/callableReferenceToJavaField.txt @@ -60,6 +60,8 @@ FILE fqName:foo fileName:/main.kt GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] foo.A? visibility:protected/*protected and package*/' type=@[FlexibleNullability] foo.A? origin=GET_PROPERTY receiver: GET_VAR ': foo.Derived declared in foo.Derived.box' type=foo.Derived origin=null PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: @[FlexibleNullability] foo.A? [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in bar.Base diff --git a/compiler/testData/codegen/box/smartCasts/kt44814.txt b/compiler/testData/codegen/box/smartCasts/kt44814.txt index e8bb16dde26..307c0ccba28 100644 --- a/compiler/testData/codegen/box/smartCasts/kt44814.txt +++ b/compiler/testData/codegen/box/smartCasts/kt44814.txt @@ -66,6 +66,8 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:psi type:.PsiElement visibility:private [final]' type=.PsiElement origin=null receiver: GET_VAR ': .FirPsiSourceElement declared in .FirPsiSourceElement.' type=.FirPsiSourceElement origin=null PROPERTY name:lighterASTNode visibility:public modality:OPEN [val] + overridden: + public abstract lighterASTNode: .LighterASTNode [val] FIELD PROPERTY_BACKING_FIELD name:lighterASTNode type:.LighterASTNode visibility:private [final] EXPRESSION_BODY GET_VAR 'lighterASTNode: .LighterASTNode declared in .FirPsiSourceElement.' type=.LighterASTNode origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -79,6 +81,8 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:lighterASTNode type:.LighterASTNode visibility:private [final]' type=.LighterASTNode origin=null receiver: GET_VAR ': .FirPsiSourceElement declared in .FirPsiSourceElement.' type=.FirPsiSourceElement origin=null PROPERTY name:treeStructure visibility:public modality:OPEN [val] + overridden: + public abstract treeStructure: .FlyweightCapableTreeStructure [val] FIELD PROPERTY_BACKING_FIELD name:treeStructure type:.FlyweightCapableTreeStructure visibility:private [final] EXPRESSION_BODY GET_VAR 'treeStructure: .FlyweightCapableTreeStructure declared in .FirPsiSourceElement.' type=.FlyweightCapableTreeStructure origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -113,6 +117,8 @@ FILE fqName: fileName:/kt44814.kt DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .FirSourceElement' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FirLightSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement]' PROPERTY name:lighterASTNode visibility:public modality:OPEN [val] + overridden: + public abstract lighterASTNode: .LighterASTNode [val] FIELD PROPERTY_BACKING_FIELD name:lighterASTNode type:.LighterASTNode visibility:private [final] EXPRESSION_BODY GET_VAR 'lighterASTNode: .LighterASTNode declared in .FirLightSourceElement.' type=.LighterASTNode origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -126,6 +132,8 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:lighterASTNode type:.LighterASTNode visibility:private [final]' type=.LighterASTNode origin=null receiver: GET_VAR ': .FirLightSourceElement declared in .FirLightSourceElement.' type=.FirLightSourceElement origin=null PROPERTY name:treeStructure visibility:public modality:OPEN [val] + overridden: + public abstract treeStructure: .FlyweightCapableTreeStructure [val] FIELD PROPERTY_BACKING_FIELD name:treeStructure type:.FlyweightCapableTreeStructure visibility:private [final] EXPRESSION_BODY GET_VAR 'treeStructure: .FlyweightCapableTreeStructure declared in .FirLightSourceElement.' type=.FlyweightCapableTreeStructure origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -402,12 +410,16 @@ FILE fqName: fileName:/kt44814.kt token: GET_VAR 'token: .KtModifierKeywordToken declared in .FirModifier.FirPsiModifier.' type=.KtModifierKeywordToken origin=null INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>]' PROPERTY FAKE_OVERRIDE name:node visibility:public modality:FINAL [fake_override,val] + overridden: + public final node: Node of .FirModifier [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifier<.ASTNode>) returnType:.ASTNode [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:node visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): Node of .FirModifier declared in .FirModifier $this: VALUE_PARAMETER name: type:.FirModifier<.ASTNode> PROPERTY FAKE_OVERRIDE name:token visibility:public modality:FINAL [fake_override,val] + overridden: + public final token: .KtModifierKeywordToken [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifier<.ASTNode>) returnType:.KtModifierKeywordToken [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:token visibility:public modality:FINAL [fake_override,val] overridden: @@ -450,12 +462,16 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:tree type:.FlyweightCapableTreeStructure visibility:private [final]' type=.FlyweightCapableTreeStructure origin=null receiver: GET_VAR ': .FirModifier.FirLightModifier declared in .FirModifier.FirLightModifier.' type=.FirModifier.FirLightModifier origin=null PROPERTY FAKE_OVERRIDE name:node visibility:public modality:FINAL [fake_override,val] + overridden: + public final node: Node of .FirModifier [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifier<.LighterASTNode>) returnType:.LighterASTNode [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:node visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): Node of .FirModifier declared in .FirModifier $this: VALUE_PARAMETER name: type:.FirModifier<.LighterASTNode> PROPERTY FAKE_OVERRIDE name:token visibility:public modality:FINAL [fake_override,val] + overridden: + public final token: .KtModifierKeywordToken [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifier<.LighterASTNode>) returnType:.KtModifierKeywordToken [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:token visibility:public modality:FINAL [fake_override,val] overridden: @@ -524,6 +540,8 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:modifierList type:.KtModifierList visibility:private [final]' type=.KtModifierList origin=null receiver: GET_VAR ': .FirModifierList.FirPsiModifierList declared in .FirModifierList.FirPsiModifierList.' type=.FirModifierList.FirPsiModifierList origin=null PROPERTY FAKE_OVERRIDE name:modifiers visibility:public modality:FINAL [fake_override,val] + overridden: + public final modifiers: kotlin.collections.List<.FirModifier<*>> [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifierList) returnType:kotlin.collections.List<.FirModifier<*>> [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:modifiers visibility:public modality:FINAL [fake_override,val] overridden: @@ -573,6 +591,8 @@ FILE fqName: fileName:/kt44814.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:tree type:.FlyweightCapableTreeStructure visibility:private [final]' type=.FlyweightCapableTreeStructure origin=null receiver: GET_VAR ': .FirModifierList.FirLightModifierList declared in .FirModifierList.FirLightModifierList.' type=.FirModifierList.FirLightModifierList origin=null PROPERTY FAKE_OVERRIDE name:modifiers visibility:public modality:FINAL [fake_override,val] + overridden: + public final modifiers: kotlin.collections.List<.FirModifier<*>> [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.FirModifierList) returnType:kotlin.collections.List<.FirModifier<*>> [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:modifiers visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irJsText/external/kt38765.txt b/compiler/testData/ir/irJsText/external/kt38765.txt index 4a7ae7b272a..00b270a610b 100644 --- a/compiler/testData/ir/irJsText/external/kt38765.txt +++ b/compiler/testData/ir/irJsText/external/kt38765.txt @@ -79,12 +79,16 @@ FILE fqName:events fileName:/kt38765.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [external,fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String [external,fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [external,fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [external,fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int [external,fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [external,fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt index e24a29b3f5b..74d5ce3421b 100644 --- a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt @@ -54,12 +54,16 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt y: GET_VAR 'yy: kotlin.Int declared in .Test1.' type=kotlin.Int origin=null INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.Base]' PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Base $this: VALUE_PARAMETER name: type:.Base PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] + overridden: + public final y: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] overridden: @@ -99,12 +103,16 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt xx: GET_VAR 'xxx: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null yy: GET_VAR 'yyy: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Base $this: VALUE_PARAMETER name: type:.Base PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] + overridden: + public final y: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.txt b/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.txt index 999128f55a8..fe321ad1376 100644 --- a/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.txt +++ b/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.txt @@ -61,6 +61,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:y index:0 type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -68,6 +70,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -104,6 +108,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:y index:0 type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -111,6 +117,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -281,6 +289,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:y index:0 type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -288,6 +298,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -324,6 +336,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:y index:0 type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: @@ -331,6 +345,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] + overridden: + public final bar: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/classes.txt b/compiler/testData/ir/irText/classes/classes.txt index 3b53b279962..390e1395242 100644 --- a/compiler/testData/ir/irText/classes/classes.txt +++ b/compiler/testData/ir/irText/classes/classes.txt @@ -102,12 +102,16 @@ FILE fqName: fileName:/classes.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/delegatedImplementation.txt b/compiler/testData/ir/irText/classes/delegatedImplementation.txt index 135011f6e0f..a1fdbfb2fa9 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.txt @@ -117,6 +117,8 @@ FILE fqName: fileName:/delegatedImplementation.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IOther]' PROPERTY name:x visibility:public modality:OPEN [val] + overridden: + public abstract x: kotlin.String [val] FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final] EXPRESSION_BODY GET_VAR 'x0: kotlin.String declared in .otherImpl' type=kotlin.String origin=null @@ -130,6 +132,8 @@ FILE fqName: fileName:/delegatedImplementation.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': .otherImpl. declared in .otherImpl..' type=.otherImpl. origin=null PROPERTY name:y visibility:public modality:OPEN [var] + overridden: + public abstract y: kotlin.Int [var] FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:private EXPRESSION_BODY GET_VAR 'y0: kotlin.Int declared in .otherImpl' type=kotlin.Int origin=null @@ -153,6 +157,8 @@ FILE fqName: fileName:/delegatedImplementation.kt receiver: GET_VAR ': .otherImpl. declared in .otherImpl..' type=.otherImpl. origin=null value: GET_VAR ': kotlin.Int declared in .otherImpl..' type=kotlin.Int origin=null PROPERTY name:z1 visibility:public modality:OPEN [val] + overridden: + public abstract z1: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int correspondingProperty: PROPERTY name:z1 visibility:public modality:OPEN [val] overridden: @@ -163,6 +169,8 @@ FILE fqName: fileName:/delegatedImplementation.kt RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .otherImpl.' CONST Int type=kotlin.Int value=1 PROPERTY name:z2 visibility:public modality:OPEN [var] + overridden: + public abstract z2: kotlin.Int [var] FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN [var] overridden: diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt index a54be848a90..d7d2d7a1969 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt @@ -43,6 +43,8 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt value: CONST String type=kotlin.String value="O" INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C1 modality:FINAL visibility:public superTypes:[.Cell{ .CT }]' PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,val] + overridden: + public final value: T of .Cell [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,val] overridden: @@ -70,6 +72,8 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt value: CONST String type=kotlin.String value="K" INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C2 modality:FINAL visibility:public superTypes:[.Cell{ .CStr }]' PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,val] + overridden: + public final value: T of .Cell [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/enum.txt b/compiler/testData/ir/irText/classes/enum.txt index a4f022d978e..0ecf35a7cc6 100644 --- a/compiler/testData/ir/irText/classes/enum.txt +++ b/compiler/testData/ir/irText/classes/enum.txt @@ -39,12 +39,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -117,12 +121,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -188,12 +196,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestEnum3 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestEnum3 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -232,12 +244,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -316,18 +332,24 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: @@ -397,18 +419,24 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestEnum4 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: @@ -447,12 +475,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -525,12 +557,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -617,12 +653,16 @@ FILE fqName: fileName:/enum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum6> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum6>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum6> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum6>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/enumClassModality.txt b/compiler/testData/ir/irText/classes/enumClassModality.txt index 1345a759f9f..23590f79e7b 100644 --- a/compiler/testData/ir/irText/classes/enumClassModality.txt +++ b/compiler/testData/ir/irText/classes/enumClassModality.txt @@ -36,12 +36,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -106,12 +110,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -166,12 +174,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -237,12 +249,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -275,12 +291,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -344,12 +364,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -389,12 +413,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -458,12 +486,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -502,12 +534,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -588,12 +624,16 @@ FILE fqName: fileName:/enumClassModality.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -625,12 +665,16 @@ FILE fqName: fileName:/enumClassModality.kt $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/enumWithMultipleCtors.txt b/compiler/testData/ir/irText/classes/enumWithMultipleCtors.txt index e6907a3118b..5146f6316c7 100644 --- a/compiler/testData/ir/irText/classes/enumWithMultipleCtors.txt +++ b/compiler/testData/ir/irText/classes/enumWithMultipleCtors.txt @@ -52,30 +52,40 @@ FILE fqName: fileName:/enumWithMultipleCtors.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .A $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .A $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .A $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:prop1 visibility:public modality:FINAL [fake_override,val] + overridden: + public final prop1: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop1 visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in .A $this: VALUE_PARAMETER name: type:.A PROPERTY FAKE_OVERRIDE name:prop2 visibility:public modality:FINAL [fake_override,val] + overridden: + public final prop2: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop2 visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in .A $this: VALUE_PARAMETER name: type:.A PROPERTY FAKE_OVERRIDE name:prop3 visibility:public modality:FINAL [fake_override,var] + overridden: + public final prop3: kotlin.String [var] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop3 visibility:public modality:FINAL [fake_override,var] overridden: @@ -203,12 +213,16 @@ FILE fqName: fileName:/enumWithMultipleCtors.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt index 92ac2b78dd6..9e0f4713bdd 100644 --- a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt +++ b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt @@ -52,12 +52,16 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -129,12 +133,16 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -212,18 +220,24 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: @@ -278,18 +292,24 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .Test2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: @@ -332,12 +352,16 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/classes/kt19306.txt b/compiler/testData/ir/irText/classes/kt19306.txt index a721f8bbb06..0388fe82568 100644 --- a/compiler/testData/ir/irText/classes/kt19306.txt +++ b/compiler/testData/ir/irText/classes/kt19306.txt @@ -55,6 +55,8 @@ FILE fqName:test2 fileName:/kt19306_test2.kt CALL 'protected final fun (): kotlin.String [fake_override] declared in test2.B' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR ': test2.B declared in test2.B.test' type=test2.B origin=null PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final p: kotlin.String [var] FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var] overridden: diff --git a/compiler/testData/ir/irText/classes/kt45853.txt b/compiler/testData/ir/irText/classes/kt45853.txt index 3cd72032934..a19a374b376 100644 --- a/compiler/testData/ir/irText/classes/kt45853.txt +++ b/compiler/testData/ir/irText/classes/kt45853.txt @@ -50,6 +50,8 @@ FILE fqName: fileName:/kt45853.kt public open fun toString (): kotlin.String [fake_override] declared in .AX $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: @[EnhancedNullability] .AX? [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.AX) returnType:@[EnhancedNullability] .AX? [fake_override] annotations: Override diff --git a/compiler/testData/ir/irText/classes/kt45853__AX.txt b/compiler/testData/ir/irText/classes/kt45853__AX.txt index 281e3ab2d77..6cfba5084e7 100644 --- a/compiler/testData/ir/irText/classes/kt45853__AX.txt +++ b/compiler/testData/ir/irText/classes/kt45853__AX.txt @@ -22,6 +22,8 @@ CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:AX modality:ABSTRACT visibility:pu public abstract fun getA (): .X? declared in .X $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.X PROPERTY IR_EXTERNAL_DECLARATION_STUB name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: .A? [val] FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:.AX) returnType:.AX? annotations: diff --git a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt index 19990bc0fff..a3b49a405a8 100644 --- a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt +++ b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt @@ -66,6 +66,9 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt CALL 'public open fun foo (): kotlin.Unit declared in .IRight' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null $this: GET_VAR ': .CBoth declared in .CBoth.foo' type=.CBoth origin=null PROPERTY name:bar visibility:public modality:OPEN [val] + overridden: + public open bar: kotlin.Int [val] + public open bar: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/classes/superCalls.txt b/compiler/testData/ir/irText/classes/superCalls.txt index 128e9078143..f3d247843b5 100644 --- a/compiler/testData/ir/irText/classes/superCalls.txt +++ b/compiler/testData/ir/irText/classes/superCalls.txt @@ -50,6 +50,8 @@ FILE fqName: fileName:/superCalls.kt CALL 'public open fun foo (): kotlin.Unit declared in .Base' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null $this: GET_VAR ': .Derived declared in .Derived.foo' type=.Derived origin=null PROPERTY name:bar visibility:public modality:OPEN [val] + overridden: + public open bar: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.String correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/classes/superCallsComposed.txt b/compiler/testData/ir/irText/classes/superCallsComposed.txt index f2ca49dccfa..0dcc77f03ea 100644 --- a/compiler/testData/ir/irText/classes/superCallsComposed.txt +++ b/compiler/testData/ir/irText/classes/superCallsComposed.txt @@ -68,6 +68,9 @@ FILE fqName: fileName:/superCallsComposed.kt CALL 'public open fun foo (): kotlin.Unit declared in .Base' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null $this: GET_VAR ': .Derived declared in .Derived.foo' type=.Derived origin=null PROPERTY name:bar visibility:public modality:OPEN [val] + overridden: + public open bar: kotlin.String [val] + public abstract bar: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.String correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt index 71bdb74d7f4..3474d67f371 100644 --- a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt @@ -162,12 +162,16 @@ FILE fqName: fileName:/classesWithAnnotations.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt index 9b0ba508d1f..749a7c621e6 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt @@ -91,12 +91,16 @@ FILE fqName: fileName:/enumEntriesWithAnnotations.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .TestEnum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestEnum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -133,12 +137,16 @@ FILE fqName: fileName:/enumEntriesWithAnnotations.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt index d3363c46cc5..9cd22943678 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt @@ -45,12 +45,16 @@ FILE fqName: fileName:/enumsInAnnotationArguments.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.txt b/compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.txt index 0f87c3c0954..9e16da9daa8 100644 --- a/compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.txt +++ b/compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.txt @@ -89,6 +89,8 @@ FILE fqName: fileName:/inheritingDeprecation.kt PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val] annotations: Deprecated(message = '', replaceWith = , level = ) + overridden: + public open extProp: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.IFoo, $receiver:kotlin.String) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val] overridden: @@ -98,6 +100,8 @@ FILE fqName: fileName:/inheritingDeprecation.kt PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val] annotations: Deprecated(message = '', replaceWith = , level = ) + overridden: + public open prop: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.IFoo) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val] overridden: @@ -123,6 +127,8 @@ FILE fqName: fileName:/inheritingDeprecation.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ExplicitOverride modality:FINAL visibility:public superTypes:[.IFoo]' PROPERTY name:prop visibility:public modality:OPEN [val] + overridden: + public open prop: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.ExplicitOverride) returnType:kotlin.String correspondingProperty: PROPERTY name:prop visibility:public modality:OPEN [val] overridden: @@ -132,6 +138,8 @@ FILE fqName: fileName:/inheritingDeprecation.kt RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .ExplicitOverride' CONST String type=kotlin.String value="" PROPERTY name:extProp visibility:public modality:OPEN [val] + overridden: + public open extProp: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.ExplicitOverride, $receiver:kotlin.String) returnType:kotlin.String correspondingProperty: PROPERTY name:extProp visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.txt index a495703b7ae..ea00308c76f 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.txt @@ -68,6 +68,8 @@ FILE fqName: fileName:/fakeOverrides.kt : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.CFoo; .IFooStr; .IBar]' PROPERTY name:bar visibility:public modality:OPEN [val] + overridden: + public abstract bar: kotlin.Int [val] FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:private [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/declarations/inlineCollectionOfInlineClass.txt b/compiler/testData/ir/irText/declarations/inlineCollectionOfInlineClass.txt index d70e112e60b..8a89718bd87 100644 --- a/compiler/testData/ir/irText/declarations/inlineCollectionOfInlineClass.txt +++ b/compiler/testData/ir/irText/declarations/inlineCollectionOfInlineClass.txt @@ -84,6 +84,8 @@ FILE fqName: fileName:/inlineCollectionOfInlineClass.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<.IT> visibility:private [final]' type=kotlin.collections.MutableSet<.IT> origin=null receiver: GET_VAR ': .InlineMutableSet declared in .InlineMutableSet.' type=.InlineMutableSet origin=null PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.InlineMutableSet) returnType:kotlin.Int correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt index ba8bbe8844d..978a838eac1 100644 --- a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt +++ b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt @@ -46,6 +46,8 @@ FILE fqName: fileName:/localClassWithOverrides.kt $this: VALUE_PARAMETER name: type:.outer.Local BLOCK_BODY PROPERTY name:aval visibility:public modality:OPEN [val] + overridden: + public abstract aval: kotlin.Int [val] FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:private [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 @@ -59,6 +61,8 @@ FILE fqName: fileName:/localClassWithOverrides.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .outer.Local declared in .outer.Local.' type=.outer.Local origin=null PROPERTY name:avar visibility:public modality:OPEN [var] + overridden: + public abstract avar: kotlin.Int [var] FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:private EXPRESSION_BODY CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt index 58cd0a7f74e..3b6e225235a 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt @@ -30,12 +30,16 @@ FILE fqName: fileName:/expectedEnumClass.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -93,12 +97,16 @@ FILE fqName: fileName:/expectedEnumClass.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.txt b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.txt index 0a22b28a06f..0ae2f20be1f 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.txt @@ -92,6 +92,8 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:pt type:PT of . visibility:private [final]' type=PT of . origin=null receiver: GET_VAR ': ..PLocal..PLocal> declared in ..PLocal.' type=..PLocal..PLocal> origin=null PROPERTY FAKE_OVERRIDE name:ll visibility:public modality:FINAL [fake_override,val] + overridden: + public final ll: LL of .L [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.L..PLocal>) returnType:LT of ..PLocal [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ll visibility:public modality:FINAL [fake_override,val] overridden: @@ -148,6 +150,8 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:pt type:FT of .fn visibility:private [final]' type=FT of .fn origin=null receiver: GET_VAR ': .fn.FLocal.fn.FLocal, FT of .fn> declared in .fn.FLocal.' type=.fn.FLocal.fn.FLocal, FT of .fn> origin=null PROPERTY FAKE_OVERRIDE name:ll visibility:public modality:FINAL [fake_override,val] + overridden: + public final ll: LL of .L [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.L.fn.FLocal>) returnType:LT of .fn.FLocal [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ll visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt index 1e71cf52baa..64dd2c027e0 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt @@ -28,6 +28,8 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': .X.B declared in .X.B.' type=.X.B origin=null PROPERTY name:value visibility:public modality:OPEN [val] + overridden: + public abstract value: kotlin.Function0 [val] FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:private [final] EXPRESSION_BODY FUN_EXPR type=kotlin.Function0 origin=LAMBDA @@ -72,12 +74,16 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .X $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .X $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -118,12 +124,16 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt index 3e9d0b6e39a..57460f986be 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt @@ -137,12 +137,16 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .MyEnum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .MyEnum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -179,12 +183,16 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/exhaustiveWhenElseBranch.txt b/compiler/testData/ir/irText/expressions/exhaustiveWhenElseBranch.txt index 963aa4b84b2..acf51e67a41 100644 --- a/compiler/testData/ir/irText/expressions/exhaustiveWhenElseBranch.txt +++ b/compiler/testData/ir/irText/expressions/exhaustiveWhenElseBranch.txt @@ -36,12 +36,16 @@ FILE fqName: fileName:/exhaustiveWhenElseBranch.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.txt b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.txt index dd781fbd101..17e00fbe24a 100644 --- a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.txt +++ b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.txt @@ -21,6 +21,8 @@ FILE fqName: fileName:/jvmFieldWithIntersectionTypes.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .JFieldOwner' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.JFieldOwner; .IFoo]' PROPERTY FAKE_OVERRIDE name:f visibility:public modality:FINAL [fake_override,var] + overridden: + public final f: kotlin.Int [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .JFieldOwner @@ -44,6 +46,8 @@ FILE fqName: fileName:/jvmFieldWithIntersectionTypes.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .JFieldOwner' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.JFieldOwner; .IFoo]' PROPERTY FAKE_OVERRIDE name:f visibility:public modality:FINAL [fake_override,var] + overridden: + public final f: kotlin.Int [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .JFieldOwner @@ -67,6 +71,8 @@ FILE fqName: fileName:/jvmFieldWithIntersectionTypes.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .JFieldOwner' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Mid modality:OPEN visibility:public superTypes:[.JFieldOwner]' PROPERTY FAKE_OVERRIDE name:f visibility:public modality:FINAL [fake_override,var] + overridden: + public final f: kotlin.Int [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .JFieldOwner @@ -87,6 +93,8 @@ FILE fqName: fileName:/jvmFieldWithIntersectionTypes.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Mid' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedThroughMid1 modality:FINAL visibility:public superTypes:[.Mid; .IFoo]' PROPERTY FAKE_OVERRIDE name:f visibility:public modality:FINAL [fake_override,var] + overridden: + public final f [fake_override,var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Mid @@ -110,6 +118,8 @@ FILE fqName: fileName:/jvmFieldWithIntersectionTypes.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Mid' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedThroughMid2 modality:FINAL visibility:public superTypes:[.Mid; .IFoo]' PROPERTY FAKE_OVERRIDE name:f visibility:public modality:FINAL [fake_override,var] + overridden: + public final f [fake_override,var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Mid diff --git a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt index 9236a6eb246..ec71ae4e0bc 100644 --- a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt @@ -24,6 +24,8 @@ FILE fqName: fileName:/Derived.kt receiver: GET_VAR ': .Derived declared in .Derived.setValue' type=.Derived origin=null value: GET_VAR 'value: kotlin.Int declared in .Derived.setValue' type=kotlin.Int origin=null PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,var] + overridden: + public final value: kotlin.Int [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base diff --git a/compiler/testData/ir/irText/expressions/kt16904.txt b/compiler/testData/ir/irText/expressions/kt16904.txt index 3f7f3d8e55e..37c7d6944ff 100644 --- a/compiler/testData/ir/irText/expressions/kt16904.txt +++ b/compiler/testData/ir/irText/expressions/kt16904.txt @@ -94,12 +94,16 @@ FILE fqName: fileName:/kt16904.kt $this: GET_VAR 'val tmp_1: .Test1 [val] declared in .Test1.' type=.Test1 origin=null other: CONST Int type=kotlin.Int value=42 PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: .B [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:.B [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): .B declared in .A $this: VALUE_PARAMETER name: type:.A PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,var] + overridden: + public final y: kotlin.Int [var] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,var] overridden: @@ -136,6 +140,8 @@ FILE fqName: fileName:/kt16904.kt receiver: GET_VAR ': .Test2 declared in .Test2' type=.Test2 origin=null value: CONST Int type=kotlin.Int value=42 PROPERTY FAKE_OVERRIDE name:field visibility:public modality:FINAL [fake_override,var] + overridden: + public final field: kotlin.Int [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .J diff --git a/compiler/testData/ir/irText/expressions/kt30020.txt b/compiler/testData/ir/irText/expressions/kt30020.txt index 2e50bcd7257..afd9df7fa25 100644 --- a/compiler/testData/ir/irText/expressions/kt30020.txt +++ b/compiler/testData/ir/irText/expressions/kt30020.txt @@ -233,6 +233,8 @@ FILE fqName: fileName:/kt30020.kt VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt index df930d4bb28..aa5cacc55cf 100644 --- a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt +++ b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt @@ -98,6 +98,8 @@ FILE fqName: fileName:/multipleThisReferences.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .Host.test. declared in .Host.test..' type=.Host.test. origin=null PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/objectAsCallable.txt b/compiler/testData/ir/irText/expressions/objectAsCallable.txt index e79bcce35ae..9f586b34e2d 100644 --- a/compiler/testData/ir/irText/expressions/objectAsCallable.txt +++ b/compiler/testData/ir/irText/expressions/objectAsCallable.txt @@ -55,12 +55,16 @@ FILE fqName: fileName:/objectAsCallable.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.kt.txt b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.kt.txt new file mode 100644 index 00000000000..48a45ae537a --- /dev/null +++ b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.kt.txt @@ -0,0 +1,32 @@ +open class Base { + constructor(f1: Function0) /* primary */ { + super/*Any*/() + /* () */ + + } + + val f1: Function0 + field = f1 + get + +} + +object Thing : Base { + private constructor() /* primary */ { + super/*Base*/(f1 = local fun (): Any { + return Thing + } +) + /* () */ + + } + + fun test1(): Thing { + return Thing + } + + fun test2(): Thing { + return + } + +} diff --git a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.txt b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.txt new file mode 100644 index 00000000000..87b401c2bcd --- /dev/null +++ b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.fir.txt @@ -0,0 +1,72 @@ +FILE fqName: fileName:/objectByNameInsideObject.kt + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> (f1:kotlin.Function0) returnType:.Base [primary] + VALUE_PARAMETER name:f1 index:0 type:kotlin.Function0 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:f1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:f1 type:kotlin.Function0 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'f1: kotlin.Function0 declared in .Base.' type=kotlin.Function0 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:f1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:f1 type:kotlin.Function0 visibility:private [final]' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Thing modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Thing + CONSTRUCTOR visibility:private <> () returnType:.Thing [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (f1: kotlin.Function0) [primary] declared in .Base' + f1: FUN_EXPR type=kotlin.Function0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Any declared in .Thing.' + GET_OBJECT 'CLASS OBJECT name:Thing modality:FINAL visibility:public superTypes:[.Base]' type=.Thing + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Thing modality:FINAL visibility:public superTypes:[.Base]' + FUN name:test1 visibility:public modality:FINAL <> ($this:.Thing) returnType:.Thing + $this: VALUE_PARAMETER name: type:.Thing + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun test1 (): .Thing declared in .Thing' + GET_OBJECT 'CLASS OBJECT name:Thing modality:FINAL visibility:public superTypes:[.Base]' type=.Thing + FUN name:test2 visibility:public modality:FINAL <> ($this:.Thing) returnType:.Thing + $this: VALUE_PARAMETER name: type:.Thing + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun test2 (): .Thing declared in .Thing' + GET_VAR ': .Thing declared in .Thing.test2' type=.Thing origin=null + PROPERTY FAKE_OVERRIDE name:f1 visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f1 visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Function0 declared in .Base + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.kt b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.kt index 5c34a8779c0..945c11ceea5 100644 --- a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.kt +++ b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL open class Base(val f1: () -> Any) object Thing : Base({ Thing }) { diff --git a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.txt b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.txt index 87b401c2bcd..f2b9c986545 100644 --- a/compiler/testData/ir/irText/expressions/objectByNameInsideObject.txt +++ b/compiler/testData/ir/irText/expressions/objectByNameInsideObject.txt @@ -52,6 +52,8 @@ FILE fqName: fileName:/objectByNameInsideObject.kt RETURN type=kotlin.Nothing from='public final fun test2 (): .Thing declared in .Thing' GET_VAR ': .Thing declared in .Thing.test2' type=.Thing origin=null PROPERTY FAKE_OVERRIDE name:f1 visibility:public modality:FINAL [fake_override,val] + overridden: + public final f1: kotlin.Function0 [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:f1 visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.kt.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.kt.txt new file mode 100644 index 00000000000..b2e99c61e65 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.kt.txt @@ -0,0 +1,24 @@ +abstract class Base { + constructor(lambda: Function0) /* primary */ { + super/*Any*/() + /* () */ + + } + + val lambda: Function0 + field = lambda + get + +} + +object Test : Base { + private constructor() /* primary */ { + super/*Base*/(lambda = local fun (): Any { + return Test + } +) + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt new file mode 100644 index 00000000000..00f73b53f54 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt @@ -0,0 +1,62 @@ +FILE fqName: fileName:/objectReferenceInClosureInSuperConstructorCall.kt + CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> (lambda:kotlin.Function0) returnType:.Base [primary] + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:lambda visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'lambda: kotlin.Function0 declared in .Base.' type=kotlin.Function0 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:lambda visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:private [final]' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:private <> () returnType:.Test [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (lambda: kotlin.Function0) [primary] declared in .Base' + lambda: FUN_EXPR type=kotlin.Function0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Any declared in .Test.' + GET_OBJECT 'CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' type=.Test + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Function0 declared in .Base + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.kt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.kt index 599903f36e6..cfd4765eb86 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.kt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL abstract class Base(val lambda: () -> Any) object Test : Base({ -> Test }) \ No newline at end of file diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt index 00f73b53f54..6325866e292 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt @@ -42,6 +42,8 @@ FILE fqName: fileName:/objectReferenceInClosureInSuperConstructorCall.kt GET_OBJECT 'CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' type=.Test INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [fake_override,val] + overridden: + public final lambda: kotlin.Function0 [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.fir.txt b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.fir.txt new file mode 100644 index 00000000000..140d91d79c2 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.fir.txt @@ -0,0 +1,44 @@ +FILE fqName: fileName:/protectedJavaFieldRef.kt + CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[p.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived + CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in p.Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[p.Base]' + ANONYMOUS_INITIALIZER isStatic=false + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived' type=.Derived origin=null + value: CONST String type=kotlin.String value="" + FUN name:set visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived.set' type=.Derived origin=null + value: CONST String type=kotlin.String value="OK" + PROPERTY name:ref visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ref type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final] + EXPRESSION_BODY + PROPERTY_REFERENCE 'protected/*protected and package*/ open j: @[FlexibleNullability] kotlin.String? [var]' field='FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' getter='protected/*protected and package*/ open fun (): @[FlexibleNullability] kotlin.String? declared in p.Base' setter='protected/*protected and package*/ open fun (: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in p.Base' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null + <1>: + $this: GET_VAR ': .Derived declared in .Derived' type=.Derived origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> + correspondingProperty: PROPERTY name:ref visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Derived + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> declared in .Derived' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ref type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final]' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null + receiver: GET_VAR ': .Derived declared in .Derived.' type=.Derived origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.kt b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.kt new file mode 100644 index 00000000000..a89266f880b --- /dev/null +++ b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.kt @@ -0,0 +1,16 @@ +// SKIP_KT_DUMP +// FILE: protectedJavaFieldRef.kt +import p.* + +class Derived : Base() { + init { j = "" } + fun set() { j = "OK" } + val ref = ::j +} + +// FILE: p/Base.java +package p; + +public class Base { + protected String j; +} diff --git a/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.txt b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.txt new file mode 100644 index 00000000000..6739b065dcf --- /dev/null +++ b/compiler/testData/ir/irText/expressions/protectedJavaFieldRef.txt @@ -0,0 +1,47 @@ +FILE fqName: fileName:/protectedJavaFieldRef.kt + CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[p.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived + CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in p.Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[p.Base]' + ANONYMOUS_INITIALIZER isStatic=false + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived' type=.Derived origin=null + value: CONST String type=kotlin.String value="" + FUN name:set visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived.set' type=.Derived origin=null + value: CONST String type=kotlin.String value="OK" + PROPERTY name:ref visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ref type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final] + EXPRESSION_BODY + PROPERTY_REFERENCE 'protected/*protected and package*/ final j [fake_override,var]' field='FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:@[FlexibleNullability] kotlin.String? visibility:protected/*protected and package*/' getter=null setter=null type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null + $this: GET_VAR ': .Derived declared in .Derived' type=.Derived origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> + correspondingProperty: PROPERTY name:ref visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Derived + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> declared in .Derived' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ref type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final]' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null + receiver: GET_VAR ': .Derived declared in .Derived.' type=.Derived origin=null + PROPERTY FAKE_OVERRIDE name:j visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j: @[FlexibleNullability] kotlin.String? [var] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in p.Base + $this: VALUE_PARAMETER name: type:kotlin.Any + diff --git a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt index f668b7287ad..59166d57fe3 100644 --- a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt @@ -19,6 +19,8 @@ FILE fqName: fileName:/Derived.kt value: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR 'v: kotlin.Any declared in .Derived.setValue' type=kotlin.Any origin=null PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [fake_override,var] + overridden: + public final value: @[FlexibleNullability] kotlin.String? [var] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base diff --git a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt index af224523958..b054fe42b3a 100644 --- a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt +++ b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt @@ -70,12 +70,16 @@ FILE fqName: fileName:/temporaryInEnumEntryInitializer.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt index 0e5d9b23846..0a0d581cbf6 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt @@ -92,6 +92,8 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .test. declared in .test..' type=.test. origin=null PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] + overridden: + public final y: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.kt.txt b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.kt.txt new file mode 100644 index 00000000000..17c69ed7c75 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.kt.txt @@ -0,0 +1,39 @@ +open class Base { + constructor(x: Any) /* primary */ { + super/*Any*/() + /* () */ + + } + + val x: Any + field = x + get + +} + +object Host { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + class Derived1 : Base { + constructor() /* primary */ { + super/*Base*/(x = Host) + /* () */ + + } + + } + + class Derived2 : Base { + constructor() /* primary */ { + super/*Base*/(x = Host) + /* () */ + + } + + } + +} diff --git a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.txt b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.txt new file mode 100644 index 00000000000..c050a6eeb5a --- /dev/null +++ b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.fir.txt @@ -0,0 +1,103 @@ +FILE fqName: fileName:/thisRefToObjectInNestedClassConstructorCall.kt + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.Base [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:private [final] + EXPRESSION_BODY + GET_VAR 'x: kotlin.Any declared in .Base.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Any + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:private [final]' type=kotlin.Any origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:private <> () returnType:.Host [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Derived1 + CONSTRUCTOR visibility:public <> () returnType:.Host.Derived1 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Any) [primary] declared in .Base' + x: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Host + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Any [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Any declared in .Base + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Derived2 + CONSTRUCTOR visibility:public <> () returnType:.Host.Derived2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Any) [primary] declared in .Base' + x: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Host + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Any [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Any declared in .Base + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.kt b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.kt index 54bc885f4a2..ad4a2c2e6fc 100644 --- a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.kt +++ b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL open class Base(val x: Any) object Host { diff --git a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.txt b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.txt index c050a6eeb5a..41ecfdad1b1 100644 --- a/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/thisRefToObjectInNestedClassConstructorCall.txt @@ -44,6 +44,8 @@ FILE fqName: fileName:/thisRefToObjectInNestedClassConstructorCall.kt x: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Host INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base]' PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Any [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Any [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: @@ -70,6 +72,8 @@ FILE fqName: fileName:/thisRefToObjectInNestedClassConstructorCall.kt x: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Host INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Base]' PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: kotlin.Any [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Any [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.txt b/compiler/testData/ir/irText/expressions/useImportedMember.txt index 4a1d1b6202f..93a6d7af465 100644 --- a/compiler/testData/ir/irText/expressions/useImportedMember.txt +++ b/compiler/testData/ir/irText/expressions/useImportedMember.txt @@ -124,6 +124,8 @@ FILE fqName: fileName:/useImportedMember.kt RETURN type=kotlin.Nothing from='public final fun (): T of .C. declared in .C' GET_VAR ': T of .C. declared in .C.' type=T of .C. origin=null PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] + overridden: + public final fromClass: T of .BaseClass. [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .C.) returnType:T of .C. [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/values.txt b/compiler/testData/ir/irText/expressions/values.txt index 0a6d5a84f61..15ac3e16a82 100644 --- a/compiler/testData/ir/irText/expressions/values.txt +++ b/compiler/testData/ir/irText/expressions/values.txt @@ -36,12 +36,16 @@ FILE fqName: fileName:/values.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/expressions/whenSmartCastToEnum.txt b/compiler/testData/ir/irText/expressions/whenSmartCastToEnum.txt index c20180ab65b..72c0772da17 100644 --- a/compiler/testData/ir/irText/expressions/whenSmartCastToEnum.txt +++ b/compiler/testData/ir/irText/expressions/whenSmartCastToEnum.txt @@ -42,12 +42,16 @@ FILE fqName: fileName:/whenSmartCastToEnum.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.txt index 1d27ae62b02..098a06f1308 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.txt @@ -19,6 +19,8 @@ FILE fqName: fileName:/AbstractMutableMap.kt RETURN type=kotlin.Nothing from='public open fun put (key: K of .MyMap, value: V of .MyMap): V of .MyMap? declared in .MyMap' CONST Null type=kotlin.Nothing? value=null PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract entries: kotlin.collections.MutableSet> [val] FUN name: visibility:public modality:OPEN <> ($this:.MyMap.MyMap, V of .MyMap>) returnType:kotlin.collections.MutableSet.MyMap, V of .MyMap>> correspondingProperty: PROPERTY name:entries visibility:public modality:OPEN [val] overridden: @@ -151,18 +153,24 @@ FILE fqName: fileName:/AbstractMutableMap.kt public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>) returnType:kotlin.collections.MutableSet.MyMap> [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.collections.MutableSet [fake_override] declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map.MyMap, V of .MyMap>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.Int [fake_override] declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.Map.MyMap, V of .MyMap> PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>) returnType:kotlin.collections.MutableCollection.MyMap> [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.txt index b11ed6bf1d1..46d2407fd59 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayMap.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.txt @@ -61,6 +61,8 @@ FILE fqName: fileName:/ArrayMap.kt : kotlin.Nothing INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap]' PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.EmptyArrayMap) returnType:kotlin.Int correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] overridden: @@ -180,6 +182,8 @@ FILE fqName: fileName:/ArrayMap.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.' type=.OneElementArrayMap.OneElementArrayMap> origin=null PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.Int correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] overridden: @@ -393,6 +397,8 @@ FILE fqName: fileName:/ArrayMap.kt size: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' type=kotlin.Int origin=GET_PROPERTY $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.ArrayMapImpl.Companion PROPERTY name:size visibility:public modality:OPEN [var] + overridden: + public abstract size: kotlin.Int [val] FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private EXPRESSION_BODY CONST Int type=kotlin.Int value=0 @@ -695,6 +701,8 @@ FILE fqName: fileName:/ArrayMap.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>]' PROPERTY name:key visibility:public modality:OPEN [val] + overridden: + public abstract key: K of kotlin.collections.Map.Entry [val] FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final] EXPRESSION_BODY GET_VAR 'key: kotlin.Int declared in .ArrayMapImpl.Entry.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -708,6 +716,8 @@ FILE fqName: fileName:/ArrayMap.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null PROPERTY name:value visibility:public modality:OPEN [val] + overridden: + public abstract value: V of kotlin.collections.Map.Entry [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final] EXPRESSION_BODY GET_VAR 'value: T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry.' type=T of .ArrayMapImpl.Entry origin=INITIALIZE_PROPERTY_FROM_PARAMETER diff --git a/compiler/testData/ir/irText/firProblems/Fir2IrClassifierStorage.txt b/compiler/testData/ir/irText/firProblems/Fir2IrClassifierStorage.txt index f33e0eb64c7..718b1e51089 100644 --- a/compiler/testData/ir/irText/firProblems/Fir2IrClassifierStorage.txt +++ b/compiler/testData/ir/irText/firProblems/Fir2IrClassifierStorage.txt @@ -61,6 +61,8 @@ FILE fqName: fileName:/Fir2IrClassifierStorage.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Fir2IrComponentsStorage modality:FINAL visibility:public superTypes:[.Fir2IrComponents]' PROPERTY name:session visibility:public modality:OPEN [val] + overridden: + public abstract session: .FirSession [val] FIELD PROPERTY_BACKING_FIELD name:session type:.FirSession visibility:private [final] EXPRESSION_BODY GET_VAR 'session: .FirSession declared in .Fir2IrComponentsStorage.' type=.FirSession origin=INITIALIZE_PROPERTY_FROM_PARAMETER @@ -74,6 +76,8 @@ FILE fqName: fileName:/Fir2IrClassifierStorage.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:session type:.FirSession visibility:private [final]' type=.FirSession origin=null receiver: GET_VAR ': .Fir2IrComponentsStorage declared in .Fir2IrComponentsStorage.' type=.Fir2IrComponentsStorage origin=null PROPERTY name:classifierStorage visibility:public modality:OPEN [lateinit,var] + overridden: + public abstract classifierStorage: .Fir2IrClassifierStorage [val] FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:.Fir2IrClassifierStorage visibility:public FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Fir2IrComponentsStorage) returnType:.Fir2IrClassifierStorage correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:OPEN [lateinit,var] diff --git a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.txt b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.txt index c63227d524f..8c4800921b8 100644 --- a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.txt +++ b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.txt @@ -71,6 +71,8 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:boundSymbol type:S of .ImplicitReceiverValue? visibility:private [final]' type=S of .ImplicitReceiverValue? origin=null receiver: GET_VAR ': .ImplicitReceiverValue.ImplicitReceiverValue> declared in .ImplicitReceiverValue.' type=.ImplicitReceiverValue.ImplicitReceiverValue> origin=null PROPERTY name:type visibility:public modality:OPEN [val] + overridden: + public abstract type: kotlin.String [val] FIELD PROPERTY_BACKING_FIELD name:type type:kotlin.String visibility:private [final] EXPRESSION_BODY GET_VAR 'type: kotlin.String declared in .ImplicitReceiverValue.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER diff --git a/compiler/testData/ir/irText/firProblems/InnerClassInAnonymous.txt b/compiler/testData/ir/irText/firProblems/InnerClassInAnonymous.txt index 10a472f5e2e..6bfa6747ae0 100644 --- a/compiler/testData/ir/irText/firProblems/InnerClassInAnonymous.txt +++ b/compiler/testData/ir/irText/firProblems/InnerClassInAnonymous.txt @@ -48,6 +48,8 @@ FILE fqName: fileName:/InnerClassInAnonymous.kt other: CALL 'public final fun (): kotlin.String declared in .box.' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR ': .box. declared in .box.' type=.box. origin=null PROPERTY FAKE_OVERRIDE name:s visibility:public modality:FINAL [fake_override,val] + overridden: + public final s: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.box..Base) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:s visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/MultiList.txt b/compiler/testData/ir/irText/firProblems/MultiList.txt index c5eec0e61d2..d33c4db0394 100644 --- a/compiler/testData/ir/irText/firProblems/MultiList.txt +++ b/compiler/testData/ir/irText/firProblems/MultiList.txt @@ -151,6 +151,8 @@ FILE fqName: fileName:/MultiList.kt VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<.Some.MyList>>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] overridden: @@ -195,6 +197,8 @@ FILE fqName: fileName:/MultiList.kt : @[FlexibleNullability] .Some.SomeList>? INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:SomeList modality:OPEN visibility:public superTypes:[.MyList.SomeList>; java.util.ArrayList<.Some.SomeList>>]' PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int [var] FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<.Some.SomeList>>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList @@ -387,6 +391,9 @@ FILE fqName: fileName:/MultiList.kt public open fun toString (): @[EnhancedNullability] kotlin.String [fake_override] declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int [fake_override,val] + public open size: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.List<.Some.SomeList>>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] overridden: @@ -401,6 +408,8 @@ FILE fqName: fileName:/MultiList.kt : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FinalList modality:FINAL visibility:public superTypes:[.SomeList]' PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount [fake_override,var] FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<.Some>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit [fake_override] declared in .SomeList @@ -576,6 +585,8 @@ FILE fqName: fileName:/MultiList.kt public open fun trimToSize (): kotlin.Unit [fake_override] declared in .SomeList $this: VALUE_PARAMETER name: type:java.util.ArrayList<.Some> PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.List<.Some>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/candidateSymbol.txt b/compiler/testData/ir/irText/firProblems/candidateSymbol.txt index 0ca369b103f..a0139608496 100644 --- a/compiler/testData/ir/irText/firProblems/candidateSymbol.txt +++ b/compiler/testData/ir/irText/firProblems/candidateSymbol.txt @@ -106,6 +106,8 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirCallableMemberDeclaration.FirCallableMemberDeclaration> TYPE_PARAMETER name:F index:0 variance: superTypes:[.FirCallableMemberDeclaration.FirCallableMemberDeclaration>] PROPERTY name:symbol visibility:public modality:ABSTRACT [val] + overridden: + public abstract symbol: .AbstractFirBasedSymbol.FirSymbolOwner> [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.FirCallableMemberDeclaration.FirCallableMemberDeclaration>) returnType:.AbstractFirBasedSymbol.FirCallableMemberDeclaration> correspondingProperty: PROPERTY name:symbol visibility:public modality:ABSTRACT [val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/kt43342.txt b/compiler/testData/ir/irText/firProblems/kt43342.txt index 81d5b3009fc..22591312811 100644 --- a/compiler/testData/ir/irText/firProblems/kt43342.txt +++ b/compiler/testData/ir/irText/firProblems/kt43342.txt @@ -139,6 +139,8 @@ FILE fqName: fileName:/kt43342.kt CALL 'public open fun (): kotlin.collections.Set [fake_override] declared in .StringFlowInfo' type=kotlin.collections.Set origin=GET_PROPERTY $this: GET_VAR 'info: .StringFlowInfo declared in .StringFlowInfo.foo' type=.StringFlowInfo origin=null PROPERTY FAKE_OVERRIDE name:map visibility:public modality:FINAL [fake_override,val] + overridden: + public final map: kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo> [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.ControlFlowInfo) returnType:kotlin.collections.Map [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:map visibility:public modality:FINAL [fake_override,val] overridden: @@ -177,24 +179,32 @@ FILE fqName: fileName:/kt43342.kt public open fun toString (): kotlin.String [fake_override] declared in .ControlFlowInfo $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: kotlin.collections.Set.ControlFlowInfo, V of .ControlFlowInfo>> [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.ControlFlowInfo) returnType:kotlin.collections.Set> [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.collections.Set.ControlFlowInfo, V of .ControlFlowInfo>> declared in .ControlFlowInfo $this: VALUE_PARAMETER name: type:.ControlFlowInfo PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.Set.ControlFlowInfo> [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.ControlFlowInfo) returnType:kotlin.collections.Set [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.collections.Set.ControlFlowInfo> declared in .ControlFlowInfo $this: VALUE_PARAMETER name: type:.ControlFlowInfo PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.ControlFlowInfo) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.Int declared in .ControlFlowInfo $this: VALUE_PARAMETER name: type:.ControlFlowInfo PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.Collection.ControlFlowInfo> [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.ControlFlowInfo) returnType:kotlin.collections.Collection [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt index 86d06507ea3..6f907c8c059 100644 --- a/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt +++ b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt @@ -82,12 +82,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Private' CONST Boolean type=kotlin.Boolean value=true PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -107,12 +111,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -127,6 +135,8 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt isPublicAPI: CONST Boolean type=kotlin.Boolean value=false INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility]' PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.Visibilities.PrivateToThis) returnType:kotlin.String correspondingProperty: PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] overridden: @@ -143,12 +153,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.PrivateToThis' CONST Boolean type=kotlin.Boolean value=true PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -168,6 +182,8 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -189,12 +205,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Protected' CONST Boolean type=kotlin.Boolean value=false PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -214,12 +234,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -241,12 +265,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Internal' CONST Boolean type=kotlin.Boolean value=true PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -266,12 +294,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -293,12 +325,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Public' CONST Boolean type=kotlin.Boolean value=false PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -318,12 +354,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -345,12 +385,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Local' CONST Boolean type=kotlin.Boolean value=true PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -370,12 +414,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -398,12 +446,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt CONSTRUCTOR_CALL 'public constructor (p0: @[FlexibleNullability] kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null p0: CONST String type=kotlin.String value="This method shouldn't be invoked for INHERITED visibility" PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -423,12 +475,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -450,6 +506,8 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.InvisibleFake' CONST Boolean type=kotlin.Boolean value=true PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN name: visibility:public modality:OPEN <> ($this:.Visibilities.InvisibleFake) returnType:kotlin.String correspondingProperty: PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] overridden: @@ -459,12 +517,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibilities.InvisibleFake' CONST String type=kotlin.String value="invisible (private in a supertype)" PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -484,6 +546,8 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: @@ -506,12 +570,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt CONSTRUCTOR_CALL 'public constructor (p0: @[FlexibleNullability] kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null p0: CONST String type=kotlin.String value="This method shouldn't be invoked for UNKNOWN visibility" PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final isPublicAPI: kotlin.Boolean [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Boolean declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: @@ -531,12 +599,16 @@ FILE fqName: fileName:/typeVariableAfterBuildMap.kt public open fun toString (): kotlin.String [fake_override] declared in .Visibility $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open externalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: public open fun (): kotlin.String declared in .Visibility $this: VALUE_PARAMETER name: type:.Visibility PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open internalDisplayName: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/regressions/kt45236.txt b/compiler/testData/ir/irText/regressions/kt45236.txt index 845c794200d..2ee0d3ed126 100644 --- a/compiler/testData/ir/irText/regressions/kt45236.txt +++ b/compiler/testData/ir/irText/regressions/kt45236.txt @@ -34,6 +34,8 @@ FILE fqName: fileName:/kt45236.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:error type:kotlin.Throwable visibility:private [final]' type=kotlin.Throwable origin=null receiver: GET_VAR ': .NetRequestStatus.Error.NetRequestStatus.Error> declared in .NetRequestStatus.Error.' type=.NetRequestStatus.Error.NetRequestStatus.Error> origin=null PROPERTY name:value visibility:public modality:OPEN [val] + overridden: + public abstract value: T of .NetRequestStatus? [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .NetRequestStatus.Error? visibility:private [final] EXPRESSION_BODY GET_VAR 'value: T of .NetRequestStatus.Error? declared in .NetRequestStatus.Error.' type=T of .NetRequestStatus.Error? origin=INITIALIZE_PROPERTY_FROM_PARAMETER diff --git a/compiler/testData/ir/irText/singletons/enumEntry.txt b/compiler/testData/ir/irText/singletons/enumEntry.txt index 3a4c144537e..aa32b263499 100644 --- a/compiler/testData/ir/irText/singletons/enumEntry.txt +++ b/compiler/testData/ir/irText/singletons/enumEntry.txt @@ -71,12 +71,16 @@ FILE fqName: fileName:/enumEntry.kt public final fun hashCode (): kotlin.Int [fake_override] declared in .Z $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .Z $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: @@ -113,12 +117,16 @@ FILE fqName: fileName:/enumEntry.kt public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final name: kotlin.String [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.txt index 557bab4ce4b..c17bef4015a 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.txt @@ -79,6 +79,8 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt CALL 'public final fun (): T of .Derived1 [fake_override] declared in .Derived1' type=T of .Derived1 origin=GET_PROPERTY $this: GET_VAR ': .Derived1.Derived1> declared in .Derived1.foo' type=.Derived1.Derived1> origin=null PROPERTY name:bar visibility:public modality:OPEN [var] + overridden: + public abstract bar: T of .Base [var] FIELD PROPERTY_BACKING_FIELD name:bar type:T of .Derived1 visibility:private EXPRESSION_BODY GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null @@ -102,6 +104,8 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt receiver: GET_VAR ': .Derived1.Derived1> declared in .Derived1.' type=.Derived1.Derived1> origin=null value: GET_VAR ': T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null PROPERTY name:exn visibility:public modality:OPEN [var] + overridden: + public abstract exn: T of .Base [var] FUN name: visibility:public modality:OPEN ($this:.Derived1.Derived1>, $receiver:Z of .Derived1.) returnType:T of .Derived1 correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN [var] overridden: @@ -123,6 +127,8 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt VALUE_PARAMETER name:value index:0 type:T of .Derived1 BLOCK_BODY PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] + overridden: + public final x: T of .Base [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base.Derived1>) returnType:T of .Derived1 [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/testData/ir/irText/stubs/javaInnerClass.txt b/compiler/testData/ir/irText/stubs/javaInnerClass.txt index 52f19c052bf..67e608ceb3b 100644 --- a/compiler/testData/ir/irText/stubs/javaInnerClass.txt +++ b/compiler/testData/ir/irText/stubs/javaInnerClass.txt @@ -18,6 +18,8 @@ FILE fqName: fileName:/javaInnerClass.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.J.JInner visibility:private [final]' type=.J.JInner origin=null receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [fake_override,var] + overridden: + public final x: kotlin.Int [var] FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] overridden: public open fun bar (): kotlin.Unit declared in .J diff --git a/compiler/testData/ir/irText/types/nullChecks/implicitNotNullOnPlatformType.txt b/compiler/testData/ir/irText/types/nullChecks/implicitNotNullOnPlatformType.txt index 2aaf5a3c6f7..c5aef49614c 100644 --- a/compiler/testData/ir/irText/types/nullChecks/implicitNotNullOnPlatformType.txt +++ b/compiler/testData/ir/irText/types/nullChecks/implicitNotNullOnPlatformType.txt @@ -9,6 +9,8 @@ FILE fqName: fileName:/implicitNotNullOnPlatformType.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MySet modality:FINAL visibility:public superTypes:[kotlin.collections.Set]' PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int [val] FUN name: visibility:public modality:OPEN <> ($this:.MySet) returnType:kotlin.Int correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] overridden: diff --git a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.txt b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.txt index 8f6e2e2aa16..8508dd2a56b 100644 --- a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.txt +++ b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.txt @@ -115,6 +115,8 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt $this: VALUE_PARAMETER name: type:.A VALUE_PARAMETER name:x index:0 type:kotlin.Any PROPERTY FAKE_OVERRIDE name:aVal visibility:public modality:FINAL [fake_override,val] + overridden: + public final aVal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:aVal visibility:public modality:FINAL [fake_override,val] overridden: @@ -198,6 +200,8 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt public final fun f (): kotlin.Int declared in .GA $this: VALUE_PARAMETER name: type:.GA.GB> PROPERTY FAKE_OVERRIDE name:aVal visibility:public modality:FINAL [fake_override,val] + overridden: + public final aVal: kotlin.Int [val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.GA.GB>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:aVal visibility:public modality:FINAL [fake_override,val] overridden: diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java index d5f989b84c8..b6cd8f7f18d 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java @@ -1508,6 +1508,12 @@ public class IrTextTestGenerated extends AbstractIrTextTest { runTest("compiler/testData/ir/irText/expressions/propertyReferences.kt"); } + @Test + @TestMetadata("protectedJavaFieldRef.kt") + public void testProtectedJavaFieldRef() throws Exception { + runTest("compiler/testData/ir/irText/expressions/protectedJavaFieldRef.kt"); + } + @Test @TestMetadata("references.kt") public void testReferences() throws Exception {