diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java index dd0ed8bf2ad..8630b119b03 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java @@ -708,7 +708,7 @@ public class JetTypeMapper { @NotNull public static String getDefaultDescriptor(@NotNull Method method, boolean isExtension) { String descriptor = method.getDescriptor(); - int argumentsCount = (Type.getArgumentsAndReturnSizes(descriptor) >> 2) - 1; + int argumentsCount = Type.getArgumentTypes(descriptor).length; if (isExtension) { argumentsCount--; } diff --git a/compiler/testData/codegen/box/classes/kt6816.kt b/compiler/testData/codegen/box/classes/kt6816.kt new file mode 100644 index 00000000000..ed081c608fb --- /dev/null +++ b/compiler/testData/codegen/box/classes/kt6816.kt @@ -0,0 +1,25 @@ +public class CalculatorConstants( + val id: Long = 0, + val detour: Double = 0.0, + val taxi: Double = 0.0, + val loop: Double = 0.0, + val planeCondition: Double = 0.0, + val co2PerKerosene: Double = 0.0, + val freight: Double = 0.0, + val rfi: Double = 0.0, + val rfiAltitude: Double = 0.0, + val averageContribution: Double = 0.0, + val singleContribution: Double = 0.0, + val returnContribution: Double = 0.0, + val defraFactor: Double = 0.0, + val airCondMult: Double = 0.0, + val autoTransMult: Double = 0.0, + val hybridDefault: String? = null, + val travelClassOne: Double = 0.0, + val status: String = "OK" +) + +fun box(): String { + val c = CalculatorConstants() + return c.status +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java index 34c47ad05df..9ac83449a76 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -1451,6 +1451,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } + @TestMetadata("kt6816.kt") + public void testKt6816() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/classes/kt6816.kt"); + doTest(fileName); + } + @TestMetadata("kt707.kt") public void testKt707() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/classes/kt707.kt");