diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsDefaultArgumentStubGenerator.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsDefaultArgumentStubGenerator.kt index ea5a8955df4..5d6b7945a6e 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsDefaultArgumentStubGenerator.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsDefaultArgumentStubGenerator.kt @@ -62,7 +62,7 @@ class JsDefaultArgumentStubGenerator(override val context: JsIrBackendContext) : } private fun IrFunction.introduceDefaultResolution(): IrFunction { - val irBuilder = context.createIrBuilder(symbol, startOffset, endOffset) + val irBuilder = context.createIrBuilder(symbol, UNDEFINED_OFFSET, UNDEFINED_OFFSET) val variables = mutableMapOf() @@ -140,7 +140,7 @@ class JsDefaultArgumentStubGenerator(override val context: JsIrBackendContext) : override fun IrFunction.generateDefaultStubBody(originalDeclaration: IrFunction): IrBody { val ctx = context - val irBuilder = context.createIrBuilder(symbol, startOffset, endOffset) + val irBuilder = context.createIrBuilder(symbol, UNDEFINED_OFFSET, UNDEFINED_OFFSET) val variables = mutableMapOf().apply { originalDeclaration.dispatchReceiverParameter?.let { @@ -154,7 +154,7 @@ class JsDefaultArgumentStubGenerator(override val context: JsIrBackendContext) : } } - return irBuilder.irBlockBody(this) { + return irBuilder.irBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET) { +valueParameters.zip(originalDeclaration.valueParameters) .mapNotNull { (new, original) -> createResolutionStatement( @@ -244,4 +244,4 @@ class JsDefaultArgumentStubGenerator(override val context: JsIrBackendContext) : private fun IrFunction.hasDefaultArgs(): Boolean = valueParameters.any { it.defaultValue != null } -} \ No newline at end of file +} diff --git a/compiler/testData/debug/stepping/defaultParameter.kt b/compiler/testData/debug/stepping/defaultParameter.kt index 4b66ac28004..c2423001d2b 100644 --- a/compiler/testData/debug/stepping/defaultParameter.kt +++ b/compiler/testData/debug/stepping/defaultParameter.kt @@ -27,9 +27,7 @@ fun box() { // test.kt:11 box // test.kt:3 // test.kt:11 box +// test.kt:6 foo$default // test.kt:4 computeParam -// test.kt:6 foo$default -// test.kt:6 foo$default // test.kt:7 foo -// test.kt:6 foo$default -// test.kt:12 box \ No newline at end of file +// test.kt:12 box diff --git a/js/js.translator/testData/lineNumbers/complexExpressionAsDefaultArgument.kt b/js/js.translator/testData/lineNumbers/complexExpressionAsDefaultArgument.kt index e2dd11a0cd6..848009eb5d9 100644 --- a/js/js.translator/testData/lineNumbers/complexExpressionAsDefaultArgument.kt +++ b/js/js.translator/testData/lineNumbers/complexExpressionAsDefaultArgument.kt @@ -11,5 +11,5 @@ fun baz() = 1 fun bar() = 2 -// LINES(JS): 1 3 3 2 2 4 3 4 4 4 5 5 2 8 8 10 10 10 12 12 12 -// LINES(JS_IR): 1 * 1 1 3 3 4 5 1 * 8 8 10 10 10 10 12 12 12 12 +// LINES(JS): 1 3 3 2 2 4 3 4 4 4 5 5 2 8 8 10 10 10 12 12 12 +// LINES(JS_IR): 1 * 3 3 4 5 * 8 8 10 10 10 10 12 12 12 12 diff --git a/js/js.translator/testData/lineNumbers/dataClass.kt b/js/js.translator/testData/lineNumbers/dataClass.kt index 83cf5dd4cb5..c3f0def5264 100644 --- a/js/js.translator/testData/lineNumbers/dataClass.kt +++ b/js/js.translator/testData/lineNumbers/dataClass.kt @@ -4,6 +4,4 @@ data class A( ) // LINES(JS): 1 2 3 * 1 2 2 1 3 3 1 1 1 2 3 1 1 1 2 3 1 1 1 2 3 1 1 1 1 1 2 3 - -// FIXME: componentN function body should point to the corresponding property. -// LINES(JS_IR): 1 1 2 2 3 3 2 2 2 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +// LINES(JS_IR): 1 1 2 2 3 3 2 2 2 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/js/js.translator/testData/lineNumbers/memberFunWithDefaultParam.kt b/js/js.translator/testData/lineNumbers/memberFunWithDefaultParam.kt index 8f4f73c719c..a0dae298a4d 100644 --- a/js/js.translator/testData/lineNumbers/memberFunWithDefaultParam.kt +++ b/js/js.translator/testData/lineNumbers/memberFunWithDefaultParam.kt @@ -11,4 +11,4 @@ class B : A() { } // LINES(JS): 1 2 2 2 2 2 2 2 2 2 4 4 4 * 7 7 8 10 9 9 -// LINES(JS_IR): 1 1 2 2 2 2 2 2 2 4 4 4 7 7 7 8 9 9 +// LINES(JS_IR): 1 1 2 2 2 2 2 * 4 4 4 7 7 7 8 9 9 diff --git a/js/js.translator/testData/lineNumbers/optionalArgs.kt b/js/js.translator/testData/lineNumbers/optionalArgs.kt index 2c8348a4f8d..a683750e829 100644 --- a/js/js.translator/testData/lineNumbers/optionalArgs.kt +++ b/js/js.translator/testData/lineNumbers/optionalArgs.kt @@ -7,5 +7,5 @@ fun box( println(y) } -// LINES(JS): 1 8 2 2 2 2 3 3 3 4 6 6 7 7 -// LINES(JS_IR): 1 1 2 1 1 4 1 6 6 7 7 +// LINES(JS): 1 8 2 2 2 2 3 3 3 4 6 6 7 7 +// LINES(JS_IR): 1 2 4 6 6 7 7