From f3d3ae841678cff24ed726a079a33c4ee86e9d6b Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 9 Feb 2024 17:32:32 +0100 Subject: [PATCH] IR: take startOffset/endOffset of parent class in FakeOverrideCopier There's no issue or tests because it doesn't affect user-visible behavior. The only effect of this change is that after IR fake override builder is enabled by default (KT-61360), tests in `compiler/testData/ir/sourceRanges` will now pass because using class start/end is the current behavior in K2 and test data checks it. --- .../kotlin/ir/overrides/FakeOverrideCopier.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt index f3058838408..32b8848fb8e 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt @@ -20,8 +20,8 @@ class FakeOverrideCopier( val customization = unimplementedOverridesStrategy.computeCustomization(declaration, parent) return declaration.factory.createFunctionWithLateBinding( - startOffset = declaration.startOffset, - endOffset = declaration.endOffset, + startOffset = parent.startOffset, + endOffset = parent.endOffset, origin = customization.origin ?: IrDeclarationOrigin.FAKE_OVERRIDE, name = symbolRenamer.getFunctionName(declaration.symbol), visibility = declaration.visibility, @@ -71,7 +71,7 @@ class FakeOverrideCopier( val customization = unimplementedOverridesStrategy.computeCustomization(declaration, parent) return declaration.factory.createPropertyWithLateBinding( - declaration.startOffset, declaration.endOffset, + parent.startOffset, parent.endOffset, customization.origin ?: IrDeclarationOrigin.FAKE_OVERRIDE, declaration.name, declaration.visibility, @@ -91,8 +91,8 @@ class FakeOverrideCopier( override fun visitValueParameter(declaration: IrValueParameter): IrValueParameter = declaration.factory.createValueParameter( - startOffset = declaration.startOffset, - endOffset = declaration.endOffset, + startOffset = parent.startOffset, + endOffset = parent.endOffset, origin = IrDeclarationOrigin.DEFINED, name = symbolRenamer.getValueParameterName(declaration.symbol), type = declaration.type.remapType(),