提交 052f6929 编写于 作者: D Dmitry Petrov

JVM_IR indy SAM conversions: update tests

KT-44278 KT-26060 KT-42621
上级 3ebeca58
......@@ -19921,6 +19921,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/invokedynamic/sam/constructorReference.kt");
}
@Test
@TestMetadata("covariantOverrideWithPrimitive.kt")
public void testCovariantOverrideWithPrimitive() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/covariantOverrideWithPrimitive.kt");
}
@Test
@TestMetadata("genericFunInterface.kt")
public void testGenericFunInterface() throws Exception {
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
fun interface IFooAny {
fun foo(): Any
}
fun interface IFooInt : IFooAny {
override fun foo(): Int
}
fun box(): String {
val test = IFooInt { 42 }
if (test.foo() != 42)
return "Failed"
return "OK"
}
\ No newline at end of file
@kotlin.Metadata
final class SamAdapterForJavaInterfaceWithNullabilityKt$testNoAnnotation$1 {
// source: 'samAdapterForJavaInterfaceWithNullability.kt'
enclosing method SamAdapterForJavaInterfaceWithNullabilityKt.testNoAnnotation(Ljava/lang/String;)LJNoAnnotation;
synthetic final field $s: java.lang.String
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNoAnnotation$1
method <init>(p0: java.lang.String): void
public final method getString(): java.lang.String
}
@kotlin.Metadata
final class SamAdapterForJavaInterfaceWithNullabilityKt$testNotNull$1 {
// source: 'samAdapterForJavaInterfaceWithNullability.kt'
enclosing method SamAdapterForJavaInterfaceWithNullabilityKt.testNotNull(Ljava/lang/String;)LJNotNull;
synthetic final field $s: java.lang.String
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNotNull$1
method <init>(p0: java.lang.String): void
public final @org.jetbrains.annotations.NotNull method getNullableString(): java.lang.String
}
@kotlin.Metadata
final class SamAdapterForJavaInterfaceWithNullabilityKt$testNullable$1 {
// source: 'samAdapterForJavaInterfaceWithNullability.kt'
enclosing method SamAdapterForJavaInterfaceWithNullabilityKt.testNullable(Ljava/lang/String;)LJNullable;
synthetic final field $s: java.lang.String
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNullable$1
method <init>(p0: java.lang.String): void
public final @org.jetbrains.annotations.Nullable method getNullableString(): java.lang.String
}
@kotlin.Metadata
public final class SamAdapterForJavaInterfaceWithNullabilityKt {
// source: 'samAdapterForJavaInterfaceWithNullability.kt'
private final static method testNoAnnotation$lambda-2(p0: java.lang.String): java.lang.String
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNoAnnotation$1
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNotNull$1
inner (anonymous) class SamAdapterForJavaInterfaceWithNullabilityKt$testNullable$1
public final static @org.jetbrains.annotations.NotNull method testNoAnnotation(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNoAnnotation
private final static method testNotNull$lambda-1(p0: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method testNotNull(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNotNull
private final static method testNullable$lambda-0(p0: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method testNullable(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNullable
}
@kotlin.Metadata
public final class SamAdapterForJavaInterfaceWithNullabilityKt {
// source: 'samAdapterForJavaInterfaceWithNullability.kt'
private final static method testNoAnnotation$lambda-2(p0: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method testNoAnnotation(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNoAnnotation
private final static method testNotNull$lambda-1(p0: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method testNotNull(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNotNull
private final static method testNullable$lambda-0(p0: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method testNullable(@org.jetbrains.annotations.NotNull p0: java.lang.String): JNullable
}
......@@ -15,6 +15,16 @@ fun test() {
JFoo.foo2({ i++ }, null)
}
// JVM_TEMPLATES:
// @TestKt.class:
// 1 NEW TestKt\$
// 1 NEW kotlin/jvm/internal/Ref\$IntRef
// 2 NEW
// 0 IFNONNULL
// 0 IFNULL
// 1 ACONST_NULL
// JVM_IR_TEMPLATES:
// @TestKt.class:
// 0 NEW TestKt\$
// 1 NEW kotlin/jvm/internal/Ref\$IntRef
......
......@@ -12,5 +12,10 @@ fun test() {
}
// Lambda inlined into run(), no wrapper class generated:
// JVM_TEMPLATES:
// 1 NEW
// 0 INVOKEINTERFACE
// JVM_IR_TEMPLATES:
// 0 NEW
// 0 INVOKEINTERFACE
......@@ -19921,6 +19921,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/invokedynamic/sam/constructorReference.kt");
}
@Test
@TestMetadata("covariantOverrideWithPrimitive.kt")
public void testCovariantOverrideWithPrimitive() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/covariantOverrideWithPrimitive.kt");
}
@Test
@TestMetadata("genericFunInterface.kt")
public void testGenericFunInterface() throws Exception {
......@@ -19921,6 +19921,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/invokedynamic/sam/constructorReference.kt");
}
@Test
@TestMetadata("covariantOverrideWithPrimitive.kt")
public void testCovariantOverrideWithPrimitive() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/covariantOverrideWithPrimitive.kt");
}
@Test
@TestMetadata("genericFunInterface.kt")
public void testGenericFunInterface() throws Exception {
......@@ -16703,6 +16703,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/invokedynamic/sam/constructorReference.kt");
}
@TestMetadata("covariantOverrideWithPrimitive.kt")
public void testCovariantOverrideWithPrimitive() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/covariantOverrideWithPrimitive.kt");
}
@TestMetadata("genericFunInterface.kt")
public void testGenericFunInterface() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/genericFunInterface.kt");
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册