diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index 38dcb2ad7b9..f06180b9cb0 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -846,6 +846,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @Test + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @Test @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { @@ -858,6 +864,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @Test + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @Test @TestMetadata("kt503.kt") public void testKt503() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java index 42193513368..4ed00a7ad3f 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java @@ -4998,6 +4998,12 @@ public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/storeStackBeforeInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("arrayConstructor.kt") + public void testArrayConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt"); + } + @Test @TestMetadata("differentTypes.kt") public void testDifferentTypes() throws Exception { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt index f0b0b6cf4e3..c98827a7263 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt @@ -33,7 +33,7 @@ class ArrayConstructorLowering(val context: CommonBackendContext) : IrElementTra } } -private class ArrayConstructorTransformer( +open class ArrayConstructorTransformer( val context: CommonBackendContext, val container: IrSymbolOwner ) : IrElementTransformerVoidWithContext() { @@ -73,11 +73,12 @@ private class ArrayConstructorTransformer( val invokable = expression.getValueArgument(1)!!.transform(this, null) val scope = (currentScope ?: createScope(container)).scope return context.createIrBuilder(scope.scopeOwnerSymbol).irBlock(expression.startOffset, expression.endOffset) { + beforeArrayConstructorBody(this) + val index = createTmpVariable(irInt(0), isMutable = true) val sizeVar = createTmpVariable(size) val result = createTmpVariable(irCall(sizeConstructor, expression.type).apply { - - copyTypeArgumentsFrom(expression) + copyTypeArgumentsFrom(expression) putValueArgument(0, irGet(sizeVar)) }) @@ -91,12 +92,9 @@ private class ArrayConstructorTransformer( } body = irBlock { val tempIndex = createTmpVariable(irGet(index)) - val value = lambda?.inline(parent, listOf(tempIndex))?.patchDeclarationParents(scope.getLocalDeclarationParent()) ?: irCallOp( - invoke.symbol, - invoke.returnType, - irGet(invokableVar!!), - irGet(tempIndex) - ) + val value = + lambda?.run { inline(parent, listOf(tempIndex)).patchDeclarationParents(scope.getLocalDeclarationParent()) } + ?: irCallOp(invoke.symbol, invoke.returnType, irGet(invokableVar!!), irGet(tempIndex)) +irCall(result.type.getClass()!!.functions.single { it.name == OperatorNameConventions.SET }).apply { dispatchReceiver = irGet(result) putValueArgument(0, irGet(tempIndex)) @@ -106,7 +104,13 @@ private class ArrayConstructorTransformer( +irSet(index.symbol, irCallOp(inc.symbol, index.type, irGet(index))) } } + + afterArrayConstructorBody(this) + +irGet(result) } } + + protected open fun beforeArrayConstructorBody(builder: IrBlockBuilder) {} + protected open fun afterArrayConstructorBody(builder: IrBlockBuilder) {} } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt index cafe0c14140..750c062f083 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt @@ -65,7 +65,7 @@ private val provisionalFunctionExpressionPhase = makeIrFilePhase + irClass.addFunction("beforeInlineCall", irBuiltIns.unitType, isStatic = true) + irClass.addFunction("afterInlineCall", irBuiltIns.unitType, isStatic = true) + } + + val beforeInlineCall = inlineMarkerClass.functionByName("beforeInlineCall") + val afterInlineCall = inlineMarkerClass.functionByName("afterInlineCall") + companion object { val FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME = IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("FlexibleNullability")) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArrayConstructorLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArrayConstructorLowering.kt new file mode 100644 index 00000000000..fe0aed3355e --- /dev/null +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArrayConstructorLowering.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.backend.jvm.lower + +import org.jetbrains.kotlin.backend.common.BodyLoweringPass +import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext +import org.jetbrains.kotlin.backend.common.lower.ArrayConstructorTransformer +import org.jetbrains.kotlin.backend.jvm.JvmBackendContext +import org.jetbrains.kotlin.ir.builders.IrBlockBuilder +import org.jetbrains.kotlin.ir.builders.irCall +import org.jetbrains.kotlin.ir.declarations.IrDeclaration +import org.jetbrains.kotlin.ir.declarations.IrSymbolOwner +import org.jetbrains.kotlin.ir.expressions.IrBody +import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid + +class JvmArrayConstructorLowering(val context: JvmBackendContext) : IrElementTransformerVoidWithContext(), BodyLoweringPass { + + override fun lower(irBody: IrBody, container: IrDeclaration) { + irBody.transformChildrenVoid(JvmArrayConstructorTransformer(context, container as IrSymbolOwner)) + } +} + +class JvmArrayConstructorTransformer( + private val jvmContext: JvmBackendContext, + container: IrSymbolOwner +) : ArrayConstructorTransformer(jvmContext, container) { + + override fun beforeArrayConstructorBody(builder: IrBlockBuilder) { + with(builder) { + +irCall(jvmContext.ir.symbols.beforeInlineCall) + } + } + + override fun afterArrayConstructorBody(builder: IrBlockBuilder) { + with(builder) { + +irCall(jvmContext.ir.symbols.afterInlineCall) + } + } +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/arrays/kt42932.kt b/compiler/testData/codegen/box/arrays/kt42932.kt new file mode 100644 index 00000000000..4b8510bd5cf --- /dev/null +++ b/compiler/testData/codegen/box/arrays/kt42932.kt @@ -0,0 +1,16 @@ +// WITH_RUNTIME + +fun box(): String { + val i = test() + return if (i != 0) + "Failed: $i" + else + "OK" +} + +private fun test(): Int { + // JS tests fail for array size '1000000000', + // however, we don't really care much about performance here, + // but rather check that we generate correct code. + return "123".indexOfAny(CharArray(100) { '1' }) +} diff --git a/compiler/testData/codegen/box/arrays/kt45410.kt b/compiler/testData/codegen/box/arrays/kt45410.kt new file mode 100644 index 00000000000..bc9c111752a --- /dev/null +++ b/compiler/testData/codegen/box/arrays/kt45410.kt @@ -0,0 +1,115 @@ +// WITH_RUNTIME + +private const val MOD = 998244353 + +private fun mul(a: Int, b: Int) = (a.toLong() * b % MOD).toInt() + +fun box(): String { + val n = 400 + val d = Array(n) { IntArray(n) { Int.MAX_VALUE / 2 } } + for (i in 0 until n) { + d[i][i] = 0 + } + val m = n - 1 + val g = Graph(n, 2 * m) + repeat(m) { + val a = it + val b = it + 1 + d[a][b] = 1 + d[b][a] = 1 + g.add(a, b) + g.add(b, a) + } + for (k in 0 until n) { + for (i in 0 until n) { + for (j in 0 until n) { + val s = d[i][k] + d[k][j] + if (s < d[i][j]) d[i][j] = s + } + } + } + for (x in 0 until n) { + val row = IntArray(n) { y -> + var prod = 1 + val dx = d[x] + val xy = dx[y] + for (k in 0 until n) if (k != x) { + val dy = d[y] + val xk = dx[k] + val yk = dy[k] + var cnt = 0 + var cntMid = 0 + g.from(k) { t -> + val xt = dx[t] + val yt = dy[t] + if (xt == xk - 1) when (yt) { + yk - 1 -> { + cnt++ + } + yk + 1 -> { + if (xk + yk == xy) { + cntMid++ + cnt++ + } + } + } + } + if (cntMid > 1 || cnt == 0) { + prod = 0 + break + } else { + prod = mul(prod, cnt) + } + } + prod + } + for (i in 0 until n) { + if (row[i] != 1) throw AssertionError("x: $x; row[$i]: ${row[i]}") + } + } + + return "OK" +} + +class Graph(vCap: Int = 16, eCap: Int = vCap * 2) { + var vCnt = 0 + var eCnt = 0 + var vHead = IntArray(vCap) { -1 } + var eVert = IntArray(eCap) + var eNext = IntArray(eCap) + + fun add(v: Int, u: Int, e: Int = eCnt++) { + ensureVCap(maxOf(v, u) + 1) + ensureECap(e + 1) + eVert[e] = u + eNext[e] = vHead[v] + vHead[v] = e + } + + inline fun from(v: Int, action: (u: Int) -> Unit) { + var e = vHead[v] + while (e >= 0) { + action(eVert[e]) + e = eNext[e] + } + } + + private fun ensureVCap(vCap: Int) { + if (vCap <= vCnt) return + vCnt = vCap + if (vCap > vHead.size) { + val newSize = maxOf(2 * vHead.size, vCap) + vHead = vHead.copyOf(newSize) + } + } + + private fun ensureECap(eCap: Int) { + if (eCap <= eCnt) return + eCnt = eCap + if (eCap > eVert.size) { + val newSize = maxOf(2 * eVert.size, eCap) + eVert = eVert.copyOf(newSize) + eNext = eNext.copyOf(newSize) + } + } +} diff --git a/compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt b/compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt new file mode 100644 index 00000000000..0a90ec9c82d --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +fun test(): Int = "123".indexOfAny(CharArray(1000) { '1' }) + +// JVM_TEMPLATES: +// 5 ALOAD +// 5 ASTORE +// 7 ILOAD +// 6 ISTORE + +// JVM_IR_TEMPLATES: +// 3 ALOAD +// 3 ASTORE +// 4 ILOAD +// 3 ISTORE diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 329cfa8af6f..c32f1d039ca 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -846,6 +846,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @Test + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @Test @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { @@ -858,6 +864,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @Test + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @Test @TestMetadata("kt503.kt") public void testKt503() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeTextTestGenerated.java index f2262ddcc0a..dc9c7c680c5 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeTextTestGenerated.java @@ -4866,6 +4866,12 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/storeStackBeforeInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @Test + @TestMetadata("arrayConstructor.kt") + public void testArrayConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt"); + } + @Test @TestMetadata("differentTypes.kt") public void testDifferentTypes() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 417a28f0aa2..2ccf27bf5dc 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -846,6 +846,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @Test + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @Test @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { @@ -858,6 +864,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @Test + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @Test @TestMetadata("kt503.kt") public void testKt503() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java index 2333d6d7779..6cb19a2e3ff 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java @@ -4998,6 +4998,12 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/storeStackBeforeInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("arrayConstructor.kt") + public void testArrayConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/arrayConstructor.kt"); + } + @Test @TestMetadata("differentTypes.kt") public void testDifferentTypes() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 4d82d118efd..409c454ab0c 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -742,6 +742,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -752,6 +757,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt503.kt") public void testKt503() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt503.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index 9b98d269658..8c5b2c9fb95 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -422,6 +422,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -432,6 +437,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt503.kt") public void testKt503() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt503.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 4ffa07ff381..0c771a767ad 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -422,6 +422,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -432,6 +437,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt503.kt") public void testKt503() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt503.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 464a7675040..9432a0896fd 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -422,6 +422,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -432,6 +437,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt503.kt") public void testKt503() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt503.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsLegacyPrimitiveArraysBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsLegacyPrimitiveArraysBoxTestGenerated.java index 15e7138dd0b..a257fd876f6 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsLegacyPrimitiveArraysBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsLegacyPrimitiveArraysBoxTestGenerated.java @@ -250,6 +250,11 @@ public class JsLegacyPrimitiveArraysBoxTestGenerated extends AbstractJsLegacyPri runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -260,6 +265,11 @@ public class JsLegacyPrimitiveArraysBoxTestGenerated extends AbstractJsLegacyPri runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt503.kt") public void testKt503() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt503.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index f2c41904f5e..2876d70def3 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -372,6 +372,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/arrays/kt4118.kt"); } + @TestMetadata("kt42932.kt") + public void testKt42932() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt42932.kt"); + } + @TestMetadata("kt4348.kt") public void testKt4348() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt4348.kt"); @@ -382,6 +387,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/arrays/kt4357.kt"); } + @TestMetadata("kt45410.kt") + public void testKt45410() throws Exception { + runTest("compiler/testData/codegen/box/arrays/kt45410.kt"); + } + @TestMetadata("kt7009.kt") public void testKt7009() throws Exception { runTest("compiler/testData/codegen/box/arrays/kt7009.kt");