From 1006eb0945d142e7e1cf2cade7234fc1fe4be549 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Fri, 18 Jun 2021 14:40:22 +0300 Subject: [PATCH] IR: fix offsets in constant folding lowering --- .../backend/common/lower/optimizations/FoldConstantLowering.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/optimizations/FoldConstantLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/optimizations/FoldConstantLowering.kt index 6c1c671dfa3..7f53555c72b 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/optimizations/FoldConstantLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/optimizations/FoldConstantLowering.kt @@ -273,7 +273,8 @@ class FoldConstantLowering( next.startOffset, next.endOffset, context.irBuiltIns.stringType, constToString(next) ) else -> folded[folded.size - 1] = IrConstImpl.string( - last.startOffset, next.endOffset, context.irBuiltIns.stringType, + // Inlined strings may have `last.startOffset > next.endOffset` + Math.min(last.startOffset, next.startOffset), Math.max(last.endOffset, next.endOffset), context.irBuiltIns.stringType, constToString(last) + constToString(next) ) }