From 4c3d0cd9d7b8528451081b9d5eb5ca7b6834a9e0 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 15 Feb 2019 14:01:53 +0300 Subject: [PATCH] KT-29861 startOffset/endOffset for 'valueOf' function of enum class --- .../kotlin/psi2ir/generators/EnumClassMembersGenerator.kt | 3 +-- compiler/testData/ir/sourceRanges/declarations/classes.txt | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) 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 1d881eea16b..e165a02ea84 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 @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.psi2ir.generators -import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.addMember @@ -59,7 +58,7 @@ class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De irClass.addMember( context.symbolTable.declareSimpleFunctionWithOverrides( - UNDEFINED_OFFSET, UNDEFINED_OFFSET, + irClass.startOffset, irClass.endOffset, IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER, valueOfFunction ).also { irFunction -> diff --git a/compiler/testData/ir/sourceRanges/declarations/classes.txt b/compiler/testData/ir/sourceRanges/declarations/classes.txt index 86d8f460620..8724ce96dbe 100644 --- a/compiler/testData/ir/sourceRanges/declarations/classes.txt +++ b/compiler/testData/ir/sourceRanges/declarations/classes.txt @@ -81,8 +81,8 @@ @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUES - @-1:-1..-1 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:Test5 flags: - @-1:-1..-1 VALUE_PARAMETER name:value index:0 type:kotlin.String flags: + @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:Test5 flags: + @17:0..18:11 VALUE_PARAMETER name:value index:0 type:kotlin.String flags: @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUEOF @21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:FINAL visibility:public flags: superTypes:[kotlin.Annotation] @21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test6 flags: