diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java index 2b97c66b400..a7181de3232 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java @@ -83,9 +83,15 @@ public class CastTestGenerated extends AbstractCastTest { doTest(fileName); } - @TestMetadata("reifiedToNullable.kt") - public void testReifiedToNullable() throws Exception { - String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/expression/cast/cases/reifiedToNullable.kt"); + @TestMetadata("reifiedToNullable1.kt") + public void testReifiedToNullable1() throws Exception { + String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/expression/cast/cases/reifiedToNullable1.kt"); + doTest(fileName); + } + + @TestMetadata("reifiedToNullable2.kt") + public void testReifiedToNullable2() throws Exception { + String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/expression/cast/cases/reifiedToNullable2.kt"); doTest(fileName); } diff --git a/js/js.translator/testData/expression/cast/cases/reifiedToNullable.kt b/js/js.translator/testData/expression/cast/cases/reifiedToNullable1.kt similarity index 100% rename from js/js.translator/testData/expression/cast/cases/reifiedToNullable.kt rename to js/js.translator/testData/expression/cast/cases/reifiedToNullable1.kt diff --git a/js/js.translator/testData/expression/cast/cases/reifiedToNullable2.kt b/js/js.translator/testData/expression/cast/cases/reifiedToNullable2.kt new file mode 100644 index 00000000000..5455eff71dc --- /dev/null +++ b/js/js.translator/testData/expression/cast/cases/reifiedToNullable2.kt @@ -0,0 +1,19 @@ +package foo + +interface A + +class AImpl : A {} + +inline +fun test(x: Any?): T? = x as T? + +fun box(): String { + var a: A? = AImpl() + assertEquals(a, test(a), "a = AImpl()") + a = object : A {} + assertEquals(a, test(a), "a = object : A{}") + assertEquals(null, test(null), "test(null)") + failsClassCast("test(object{})") { test(object{}) } + + return "OK" +} \ No newline at end of file