diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 0f89368c7df..bffceda3699 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -36,9 +36,7 @@ import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFieldImpl import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl -import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns -import org.jetbrains.kotlin.ir.descriptors.WrappedValueParameterDescriptor import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.* @@ -169,30 +167,8 @@ class Fir2IrVisitor( } } - private fun IrFunction.addDispatchReceiverParameter(containingClass: IrClass) { - val thisOrigin = IrDeclarationOrigin.DEFINED - val thisType = containingClass.thisReceiver!!.type - val descriptor = WrappedValueParameterDescriptor() - dispatchReceiverParameter = symbolTable.declareValueParameter( - startOffset, endOffset, thisOrigin, descriptor, - thisType - ) { symbol -> - conversionScope.applyParentFromStackTo( - IrValueParameterImpl( - startOffset, endOffset, thisOrigin, symbol, - Name.special(""), -1, thisType, - varargElementType = null, isCrossinline = false, isNoinline = false - ) - ) - }.also { descriptor.bind(it) } - } - private fun T.setFunctionContent(descriptor: FunctionDescriptor, firFunction: FirFunction<*>?): T { conversionScope.withParent(this) { - val containingClass = conversionScope.lastClass() - if (firFunction !is FirConstructor && firFunction !is FirAnonymousFunction && containingClass != null) { - addDispatchReceiverParameter(containingClass) - } if (firFunction != null) { for ((valueParameter, firValueParameter) in valueParameters.zip(firFunction.valueParameters)) { valueParameter.setDefaultValue(firValueParameter) diff --git a/compiler/testData/ir/irText/classes/classes.fir.txt b/compiler/testData/ir/irText/classes/classes.fir.txt index bb1b4390521..daa7823a25e 100644 --- a/compiler/testData/ir/irText/classes/classes.fir.txt +++ b/compiler/testData/ir/irText/classes/classes.fir.txt @@ -75,11 +75,9 @@ FILE fqName: fileName:/classes.kt ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestEnumClass INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnumClass>]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnumClass) returnType:kotlin.Array<.TestEnumClass> - $this: VALUE_PARAMETER name: type:.TestEnumClass + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnumClass> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnumClass, value:kotlin.String) returnType:.TestEnumClass - $this: VALUE_PARAMETER name: type:.TestEnumClass + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnumClass VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/classes/enum.fir.txt b/compiler/testData/ir/irText/classes/enum.fir.txt index 03e2e23098a..d0c02fd94e4 100644 --- a/compiler/testData/ir/irText/classes/enum.fir.txt +++ b/compiler/testData/ir/irText/classes/enum.fir.txt @@ -12,11 +12,9 @@ FILE fqName: fileName:/enum.kt ENUM_ENTRY name:TEST2 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum1' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum1) returnType:kotlin.Array<.TestEnum1> - $this: VALUE_PARAMETER name: type:.TestEnum1 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum1> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum1, value:kotlin.String) returnType:.TestEnum1 - $this: VALUE_PARAMETER name: type:.TestEnum1 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -102,11 +100,9 @@ FILE fqName: fileName:/enum.kt ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum2' x: CONST Int type=kotlin.Int value=3 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[.TestEnum2]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum2) returnType:kotlin.Array<.TestEnum2> - $this: VALUE_PARAMETER name: type:.TestEnum2 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum2> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum2, value:kotlin.String) returnType:.TestEnum2 - $this: VALUE_PARAMETER name: type:.TestEnum2 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -166,11 +162,9 @@ FILE fqName: fileName:/enum.kt message: CONST String type=kotlin.String value="Hello, world!" FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum3) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestEnum3 - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum3) returnType:kotlin.Array<.TestEnum3> - $this: VALUE_PARAMETER name: type:.TestEnum3 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum3> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum3, value:kotlin.String) returnType:.TestEnum3 - $this: VALUE_PARAMETER name: type:.TestEnum3 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum3 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -272,11 +266,9 @@ FILE fqName: fileName:/enum.kt message: GET_ENUM 'ENUM_ENTRY name:TEST2' type=.TestEnum4 FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestEnum4 - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Array<.TestEnum4> - $this: VALUE_PARAMETER name: type:.TestEnum4 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum4> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum4, value:kotlin.String) returnType:.TestEnum4 - $this: VALUE_PARAMETER name: type:.TestEnum4 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum4 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -362,11 +354,9 @@ FILE fqName: fileName:/enum.kt ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum5' x: CONST Int type=kotlin.Int value=0 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[.TestEnum5]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum5) returnType:kotlin.Array<.TestEnum5> - $this: VALUE_PARAMETER name: type:.TestEnum5 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum5> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum5, value:kotlin.String) returnType:.TestEnum5 - $this: VALUE_PARAMETER name: type:.TestEnum5 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum5 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -449,11 +439,9 @@ FILE fqName: fileName:/enum.kt x: CALL 'public final fun f (): kotlin.Int declared in ' type=kotlin.Int origin=null y: CALL 'public final fun f (): kotlin.Int declared in ' type=kotlin.Int origin=null INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[.TestEnum6]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum6) returnType:kotlin.Array<.TestEnum6> - $this: VALUE_PARAMETER name: type:.TestEnum6 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum6> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum6, value:kotlin.String) returnType:.TestEnum6 - $this: VALUE_PARAMETER name: type:.TestEnum6 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum6 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/classes/enumClassModality.fir.txt b/compiler/testData/ir/irText/classes/enumClassModality.fir.txt index 0802a157925..c4087f75dfd 100644 --- a/compiler/testData/ir/irText/classes/enumClassModality.fir.txt +++ b/compiler/testData/ir/irText/classes/enumClassModality.fir.txt @@ -9,11 +9,9 @@ FILE fqName: fileName:/enumClassModality.kt ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestFinalEnum1' - FUN name:values visibility:public modality:FINAL <> ($this:.TestFinalEnum1) returnType:kotlin.Array<.TestFinalEnum1> - $this: VALUE_PARAMETER name: type:.TestFinalEnum1 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum1> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestFinalEnum1, value:kotlin.String) returnType:.TestFinalEnum1 - $this: VALUE_PARAMETER name: type:.TestFinalEnum1 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -79,11 +77,9 @@ FILE fqName: fileName:/enumClassModality.kt ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestFinalEnum2' x: CONST Int type=kotlin.Int value=1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestFinalEnum2]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestFinalEnum2) returnType:kotlin.Array<.TestFinalEnum2> - $this: VALUE_PARAMETER name: type:.TestFinalEnum2 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum2> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestFinalEnum2, value:kotlin.String) returnType:.TestFinalEnum2 - $this: VALUE_PARAMETER name: type:.TestFinalEnum2 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -133,11 +129,9 @@ FILE fqName: fileName:/enumClassModality.kt FUN name:doStuff visibility:public modality:FINAL <> ($this:.TestFinalEnum3) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestFinalEnum3 BLOCK_BODY - FUN name:values visibility:public modality:FINAL <> ($this:.TestFinalEnum3) returnType:kotlin.Array<.TestFinalEnum3> - $this: VALUE_PARAMETER name: type:.TestFinalEnum3 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum3> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestFinalEnum3, value:kotlin.String) returnType:.TestFinalEnum3 - $this: VALUE_PARAMETER name: type:.TestFinalEnum3 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum3 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -195,11 +189,9 @@ FILE fqName: fileName:/enumClassModality.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun toString (): kotlin.String declared in .TestOpenEnum1.X1' CONST String type=kotlin.String value="X1" - FUN name:values visibility:public modality:FINAL <> ($this:.TestOpenEnum1) returnType:kotlin.Array<.TestOpenEnum1> - $this: VALUE_PARAMETER name: type:.TestOpenEnum1 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum1> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestOpenEnum1, value:kotlin.String) returnType:.TestOpenEnum1 - $this: VALUE_PARAMETER name: type:.TestOpenEnum1 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -258,11 +250,9 @@ FILE fqName: fileName:/enumClassModality.kt FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestOpenEnum2 BLOCK_BODY - FUN name:values visibility:public modality:FINAL <> ($this:.TestOpenEnum2) returnType:kotlin.Array<.TestOpenEnum2> - $this: VALUE_PARAMETER name: type:.TestOpenEnum2 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum2> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestOpenEnum2, value:kotlin.String) returnType:.TestOpenEnum2 - $this: VALUE_PARAMETER name: type:.TestOpenEnum2 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -320,11 +310,9 @@ FILE fqName: fileName:/enumClassModality.kt BLOCK_BODY FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 - FUN name:values visibility:public modality:FINAL <> ($this:.TestAbstractEnum1) returnType:kotlin.Array<.TestAbstractEnum1> - $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum1> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestAbstractEnum1, value:kotlin.String) returnType:.TestAbstractEnum1 - $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -397,11 +385,9 @@ FILE fqName: fileName:/enumClassModality.kt FUN name:foo visibility:public modality:FINAL <> ($this:.TestAbstractEnum2.X1) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestAbstractEnum2.X1 BLOCK_BODY - FUN name:values visibility:public modality:FINAL <> ($this:.TestAbstractEnum2) returnType:kotlin.Array<.TestAbstractEnum2> - $this: VALUE_PARAMETER name: type:.TestAbstractEnum2 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum2> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestAbstractEnum2, value:kotlin.String) returnType:.TestAbstractEnum2 - $this: VALUE_PARAMETER name: type:.TestAbstractEnum2 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit [fake_override] diff --git a/compiler/testData/ir/irText/classes/enumWithMultipleCtors.fir.txt b/compiler/testData/ir/irText/classes/enumWithMultipleCtors.fir.txt index 83677ee9c9d..e7dafc3b9f4 100644 --- a/compiler/testData/ir/irText/classes/enumWithMultipleCtors.fir.txt +++ b/compiler/testData/ir/irText/classes/enumWithMultipleCtors.fir.txt @@ -122,11 +122,9 @@ FILE fqName: fileName:/enumWithMultipleCtors.kt CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String origin=null $this: CALL 'public final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR ': .A declared in .A.f' type=.A origin=null - FUN name:values visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array<.A> - $this: VALUE_PARAMETER name: type:.A + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.A> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.A, value:kotlin.String) returnType:.A - $this: VALUE_PARAMETER name: type:.A + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.A VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.fir.txt b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.fir.txt index 7d68ddeec62..6d768c63e46 100644 --- a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.fir.txt +++ b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.fir.txt @@ -31,11 +31,9 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test0' x: CONST Int type=kotlin.Int value=0 - FUN name:values visibility:public modality:FINAL <> ($this:.Test0) returnType:kotlin.Array<.Test0> - $this: VALUE_PARAMETER name: type:.Test0 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test0> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.Test0, value:kotlin.String) returnType:.Test0 - $this: VALUE_PARAMETER name: type:.Test0 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test0 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -114,11 +112,9 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test1' x: CONST Int type=kotlin.Int value=0 - FUN name:values visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array<.Test1> - $this: VALUE_PARAMETER name: type:.Test1 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test1> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.Test1, value:kotlin.String) returnType:.Test1 - $this: VALUE_PARAMETER name: type:.Test1 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test1 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -209,11 +205,9 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt x: CONST Int type=kotlin.Int value=0 FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Test2 - FUN name:values visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Array<.Test2> - $this: VALUE_PARAMETER name: type:.Test2 + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test2> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.Test2, value:kotlin.String) returnType:.Test2 - $this: VALUE_PARAMETER name: type:.Test2 + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test2 VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.fir.txt b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.fir.txt index 99b63b693ae..d35582d2c8c 100644 --- a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.fir.txt @@ -135,11 +135,9 @@ FILE fqName: fileName:/classesWithAnnotations.kt ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestEnum INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum>]' - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum) returnType:kotlin.Array<.TestEnum> - $this: VALUE_PARAMETER name: type:.TestEnum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum, value:kotlin.String) returnType:.TestEnum - $this: VALUE_PARAMETER name: type:.TestEnum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.fir.txt b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.fir.txt index c78d26fe8f7..88e7b284c7b 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.fir.txt @@ -67,11 +67,9 @@ FILE fqName: fileName:/enumEntriesWithAnnotations.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum.ENTRY2' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .TestEnum.ENTRY2 declared in .TestEnum.ENTRY2.' type=.TestEnum.ENTRY2 origin=null - FUN name:values visibility:public modality:FINAL <> ($this:.TestEnum) returnType:kotlin.Array<.TestEnum> - $this: VALUE_PARAMETER name: type:.TestEnum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.TestEnum, value:kotlin.String) returnType:.TestEnum - $this: VALUE_PARAMETER name: type:.TestEnum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.fir.txt b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.fir.txt index 031056c4d6f..ea689f31992 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.fir.txt @@ -18,11 +18,9 @@ FILE fqName: fileName:/enumsInAnnotationArguments.kt ENUM_ENTRY name:D init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' - FUN name:values visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.Array<.En> - $this: VALUE_PARAMETER name: type:.En + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.En, value:kotlin.String) returnType:.En - $this: VALUE_PARAMETER name: type:.En + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.fir.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.fir.txt index e3f1e2214b2..194ffc31197 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.fir.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.fir.txt @@ -12,11 +12,9 @@ FILE fqName: fileName:/expectedEnumClass.kt ENUM_ENTRY name:BAR init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' - FUN name:values visibility:public modality:FINAL <> ($this:.MyEnum) returnType:kotlin.Array<.MyEnum> - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.MyEnum, value:kotlin.String) returnType:.MyEnum - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] @@ -69,11 +67,9 @@ FILE fqName: fileName:/expectedEnumClass.kt ENUM_ENTRY name:BAZ init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' - FUN name:values visibility:public modality:FINAL <> ($this:.MyEnum) returnType:kotlin.Array<.MyEnum> - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.MyEnum, value:kotlin.String) returnType:.MyEnum - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt index 3e319ab9c28..88bd76114d4 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt @@ -46,11 +46,9 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 correspondingProperty: PROPERTY name:value visibility:public modality:ABSTRACT [val] $this: VALUE_PARAMETER name: type:.X - FUN name:values visibility:public modality:FINAL <> ($this:.X) returnType:kotlin.Array<.X> - $this: VALUE_PARAMETER name: type:.X + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.X> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.X, value:kotlin.String) returnType:.X - $this: VALUE_PARAMETER name: type:.X + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.X VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt index b18f58de8f1..9d0e2c6312f 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt @@ -96,11 +96,9 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt RETURN type=kotlin.Nothing from='public final fun (): .MyEnum.Z.anObject. declared in .MyEnum.Z' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:.MyEnum.Z.anObject. visibility:private [final]' type=.MyEnum.Z.anObject. origin=null receiver: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.' type=.MyEnum.Z origin=null - FUN name:values visibility:public modality:FINAL <> ($this:.MyEnum) returnType:kotlin.Array<.MyEnum> - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.MyEnum, value:kotlin.String) returnType:.MyEnum - $this: VALUE_PARAMETER name: type:.MyEnum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/expressions/objectAsCallable.fir.txt b/compiler/testData/ir/irText/expressions/objectAsCallable.fir.txt index 354c8a01342..5d4bfe254f6 100644 --- a/compiler/testData/ir/irText/expressions/objectAsCallable.fir.txt +++ b/compiler/testData/ir/irText/expressions/objectAsCallable.fir.txt @@ -28,11 +28,9 @@ FILE fqName: fileName:/objectAsCallable.kt ENUM_ENTRY name:X init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' - FUN name:values visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.Array<.En> - $this: VALUE_PARAMETER name: type:.En + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.En, value:kotlin.String) returnType:.En - $this: VALUE_PARAMETER name: type:.En + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.fir.txt b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.fir.txt index d95dfe95d67..54113243326 100644 --- a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.fir.txt +++ b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.fir.txt @@ -38,11 +38,9 @@ FILE fqName: fileName:/temporaryInEnumEntryInitializer.kt x: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String? origin=null $this: CALL 'public final fun (): kotlin.Any? declared in ' type=kotlin.Any? origin=GET_PROPERTY INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[.En]' - FUN name:values visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.Array<.En> - $this: VALUE_PARAMETER name: type:.En + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.En, value:kotlin.String) returnType:.En - $this: VALUE_PARAMETER name: type:.En + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/expressions/values.fir.txt b/compiler/testData/ir/irText/expressions/values.fir.txt index 99827774f06..806b247568b 100644 --- a/compiler/testData/ir/irText/expressions/values.fir.txt +++ b/compiler/testData/ir/irText/expressions/values.fir.txt @@ -9,11 +9,9 @@ FILE fqName: fileName:/values.kt ENUM_ENTRY name:A init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Enum' - FUN name:values visibility:public modality:FINAL <> ($this:.Enum) returnType:kotlin.Array<.Enum> - $this: VALUE_PARAMETER name: type:.Enum + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Enum> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.Enum, value:kotlin.String) returnType:.Enum - $this: VALUE_PARAMETER name: type:.Enum + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Enum VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override] diff --git a/compiler/testData/ir/irText/singletons/enumEntry.fir.txt b/compiler/testData/ir/irText/singletons/enumEntry.fir.txt index 3a4d0d41259..aa06e78e7c7 100644 --- a/compiler/testData/ir/irText/singletons/enumEntry.fir.txt +++ b/compiler/testData/ir/irText/singletons/enumEntry.fir.txt @@ -42,11 +42,9 @@ FILE fqName: fileName:/enumEntry.kt overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any - FUN name:values visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Array<.Z> - $this: VALUE_PARAMETER name: type:.Z + FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Z> BLOCK_BODY - FUN name:valueOf visibility:public modality:FINAL <> ($this:.Z, value:kotlin.String) returnType:.Z - $this: VALUE_PARAMETER name: type:.Z + FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Z VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override]