diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/EnumClassMembersGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/EnumClassMembersGenerator.kt index f6bb01765b9..ef69853cf47 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/EnumClassMembersGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/EnumClassMembersGenerator.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.addMember import org.jetbrains.kotlin.ir.expressions.IrSyntheticBodyKind import org.jetbrains.kotlin.ir.expressions.impl.IrSyntheticBodyImpl +import org.jetbrains.kotlin.ir.util.SYNTHETIC_OFFSET import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides import org.jetbrains.kotlin.ir.util.findFirstFunction @@ -39,12 +40,12 @@ class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De irClass.addMember( context.symbolTable.declareSimpleFunctionWithOverrides( - irClass.startOffset, irClass.endOffset, + SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER, valuesFunction ).also { irFunction -> FunctionGenerator(declarationGenerator).generateFunctionParameterDeclarationsAndReturnType(irFunction, null, null) - irFunction.body = IrSyntheticBodyImpl(irClass.startOffset, irClass.endOffset, IrSyntheticBodyKind.ENUM_VALUES) + irFunction.body = IrSyntheticBodyImpl(SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, IrSyntheticBodyKind.ENUM_VALUES) } ) } @@ -58,12 +59,12 @@ class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De irClass.addMember( context.symbolTable.declareSimpleFunctionWithOverrides( - irClass.startOffset, irClass.endOffset, + SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER, valueOfFunction ).also { irFunction -> FunctionGenerator(declarationGenerator).generateFunctionParameterDeclarationsAndReturnType(irFunction, null, null) - irFunction.body = IrSyntheticBodyImpl(irClass.startOffset, irClass.endOffset, IrSyntheticBodyKind.ENUM_VALUEOF) + irFunction.body = IrSyntheticBodyImpl(SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, IrSyntheticBodyKind.ENUM_VALUEOF) } ) } diff --git a/compiler/testData/ir/sourceRanges/declarations/classes.txt b/compiler/testData/ir/sourceRanges/declarations/classes.txt index 23f8233982c..ff4725c22a2 100644 --- a/compiler/testData/ir/sourceRanges/declarations/classes.txt +++ b/compiler/testData/ir/sourceRanges/declarations/classes.txt @@ -79,11 +79,11 @@ @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> @18:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.String [fake_override] @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> - @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test5> - @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUES - @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test5 - @17:0..18:11 VALUE_PARAMETER name:value index:0 type:kotlin.String - @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUEOF + @-1:-1..-1 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test5> + @-1:-1..-1 SYNTHETIC_BODY kind=ENUM_VALUES + @-1:-1..-1 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test5 + @-1:-1..-1 VALUE_PARAMETER name:value index:0 type:kotlin.String + @-1:-1..-1 SYNTHETIC_BODY kind=ENUM_VALUEOF @21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:FINAL visibility:public superTypes:[kotlin.Annotation] @21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test6 @22:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test6 [primary]