[IR] Fix KT-57973

Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-57973
This commit is contained in:
Evgeniy.Zhelenskiy
2023-04-14 20:16:46 +02:00
committed by Space Team
parent e7225d29ff
commit aceab2ac1f
18 changed files with 311 additions and 11 deletions
+162
View File
@@ -0,0 +1,162 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// CHECK_BYTECODE_LISTING
// IGNORE_BACKEND: JVM
interface IIC {
fun f(
i1: Long = 1L,
i2: Long = 2L,
i3: Long = 3L,
i4: Long = 4L,
i5: Long = 5L,
i6: Long = 6L,
i7: Long = 7L,
i8: Long = 8L,
i9: Long = 9L,
i10: Long = 10L,
i11: Long = 11L,
i12: Long = 12L,
i13: Long = 13L,
i14: Long = 14L,
i15: Long = 15L,
i16: Long = 16L,
i17: Long = 17L,
i18: Long = 18L,
i19: Long = 19L,
i20: Long = 20L,
i21: Long = 21L,
i22: Long = 22L,
i23: Long = 23L,
i24: Long = 24L,
i25: Long = 25L,
i26: Long = 26L,
i27: Long = 27L,
i28: Long = 28L,
i29: Long = 29L,
i30: Long = 30L,
i31: Long = 31L,
i32: Long = 32L,
i33: Long = 33L,
): Long
fun g(
i1: Long = 1L,
i2: Long = 2L,
i3: Long = 3L,
i4: Long = 4L,
i5: Long = 5L,
i6: Long = 6L,
i7: Long = 7L,
i8: Long = 8L,
i9: Long = 9L,
i10: Long = 10L,
i11: Long = 11L,
i12: Long = 12L,
i13: Long = 13L,
i14: Long = 14L,
i15: Long = 15L,
i16: Long = 16L,
i17: Long = 17L,
i18: Long = 18L,
i19: Long = 19L,
i20: Long = 20L,
i21: Long = 21L,
i22: Long = 22L,
i23: Long = 23L,
i24: Long = 24L,
i25: Long = 25L,
i26: Long = 26L,
i27: Long = 27L,
i28: Long = 28L,
i29: Long = 29L,
i30: Long = 30L,
i31: Long = 31L,
i32: Long = 32L,
): Long
}
inline class IC(val x: Long) : IIC {
override fun f(
i1: Long,
i2: Long,
i3: Long,
i4: Long,
i5: Long,
i6: Long,
i7: Long,
i8: Long,
i9: Long,
i10: Long,
i11: Long,
i12: Long,
i13: Long,
i14: Long,
i15: Long,
i16: Long,
i17: Long,
i18: Long,
i19: Long,
i20: Long,
i21: Long,
i22: Long,
i23: Long,
i24: Long,
i25: Long,
i26: Long,
i27: Long,
i28: Long,
i29: Long,
i30: Long,
i31: Long,
i32: Long,
i33: Long,
) = i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 + i11 + i12 + i13 + i14 + i15 + i16 +
i17 + i18 + i19 + i20 + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30 + i31 + i32 + i33
override fun g(
i1: Long,
i2: Long,
i3: Long,
i4: Long,
i5: Long,
i6: Long,
i7: Long,
i8: Long,
i9: Long,
i10: Long,
i11: Long,
i12: Long,
i13: Long,
i14: Long,
i15: Long,
i16: Long,
i17: Long,
i18: Long,
i19: Long,
i20: Long,
i21: Long,
i22: Long,
i23: Long,
i24: Long,
i25: Long,
i26: Long,
i27: Long,
i28: Long,
i29: Long,
i30: Long,
i31: Long,
i32: Long,
) = i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 + i11 + i12 + i13 + i14 + i15 + i16 +
i17 + i18 + i19 + i20 + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30 + i31 + i32
}
fun box(): String {
require(IC(2).f() == (1..33).sum().toLong()) {
"${IC(2).f()} != ${(1..33).sum()}"
}
require(IC(2).g() == (1..32).sum().toLong()) {
"${IC(2).g()} != ${(1..32).sum()}"
}
return "OK"
}
+45
View File
@@ -0,0 +1,45 @@
@kotlin.jvm.JvmInline
@kotlin.Metadata
public final class IC {
// source: 'kt57973.kt'
private final field x: long
private synthetic method <init>(p0: long): void
public synthetic final static method box-impl(p0: long): IC
public static method constructor-impl(p0: long): long
public method equals(p0: java.lang.Object): boolean
public static method equals-impl(p0: long, p1: java.lang.Object): boolean
public final static method equals-impl0(p0: long, p1: long): boolean
public method f(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long): long
public static method f-impl(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long, p33: long): long
public method g(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long): long
public static method g-impl(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long): long
public final method getX(): long
public method hashCode(): int
public static method hashCode-impl(p0: long): int
public method toString(): java.lang.String
public static method toString-impl(p0: long): java.lang.String
public synthetic final method unbox-impl(): long
}
@kotlin.Metadata
public final class IIC$DefaultImpls {
// source: 'kt57973.kt'
public synthetic static method f$default(p0: IIC, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long, p33: long, p34: int, p35: int, p36: java.lang.Object): long
public synthetic static method g$default(p0: IIC, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long, p33: int, p34: java.lang.Object): long
public final inner class IIC$DefaultImpls
}
@kotlin.Metadata
public interface IIC {
// source: 'kt57973.kt'
public abstract method f(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long, p32: long): long
public abstract method g(p0: long, p1: long, p2: long, p3: long, p4: long, p5: long, p6: long, p7: long, p8: long, p9: long, p10: long, p11: long, p12: long, p13: long, p14: long, p15: long, p16: long, p17: long, p18: long, p19: long, p20: long, p21: long, p22: long, p23: long, p24: long, p25: long, p26: long, p27: long, p28: long, p29: long, p30: long, p31: long): long
public final inner class IIC$DefaultImpls
}
@kotlin.Metadata
public final class Kt57973Kt {
// source: 'kt57973.kt'
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final inner class IIC$DefaultImpls
}