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 bbc8f679818..91cafdac32e 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 @@ -1594,6 +1594,12 @@ public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/constructors/inlinePrimaryDefaults.kt"); } + @Test + @TestMetadata("innerClassConstructor.kt") + public void testInnerClassConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt"); + } + @Test @TestMetadata("innerPrimaryDefaults.kt") public void testInnerPrimaryDefaults() throws Exception { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 9b52ae4b9fc..2996a7c24a5 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -328,6 +328,7 @@ class ExpressionCodegen( irFunction.origin == IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA private fun generateNonNullAssertion(param: IrValueParameter) { + if (param.origin == JvmLoweredDeclarationOrigin.FIELD_FOR_OUTER_THIS) return val asmType = param.type.asmType if (!param.type.unboxInlineClass().isNullable() && !isPrimitive(asmType)) { mv.load(findLocalIndex(param.symbol), asmType) diff --git a/compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt b/compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt new file mode 100644 index 00000000000..8f430708002 --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt @@ -0,0 +1,8 @@ +class Outer { + inner class Inner1 + inner class Inner2(v: String) +} + +// 1 checkNotNullParameter +// 0 checkParameterIsNotNull +// 1 INVOKESTATIC 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 367f7ae0400..af31540ddce 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 @@ -1570,6 +1570,12 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/constructors/inlinePrimaryDefaults.kt"); } + @Test + @TestMetadata("innerClassConstructor.kt") + public void testInnerClassConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt"); + } + @Test @TestMetadata("innerPrimaryDefaults.kt") public void testInnerPrimaryDefaults() 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 20e45d114a4..9169dc70970 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 @@ -1594,6 +1594,12 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/constructors/inlinePrimaryDefaults.kt"); } + @Test + @TestMetadata("innerClassConstructor.kt") + public void testInnerClassConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/innerClassConstructor.kt"); + } + @Test @TestMetadata("innerPrimaryDefaults.kt") public void testInnerPrimaryDefaults() throws Exception {