[FIR] add test case on more suspend conversion with more specific implicit type

^KT-62836
This commit is contained in:
Dmitrii Gridin
2024-03-06 08:40:19 +01:00
committed by Space Team
parent edd9f0348e
commit f4096ae8e9
8 changed files with 96 additions and 0 deletions
@@ -38358,6 +38358,18 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/suspendConversion/chainedFunSuspendConversionForSimpleExpression.kt");
}
@Test
@TestMetadata("implicitInvokeFromChildClass.kt")
public void testImplicitInvokeFromChildClass() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeFromChildClass.kt");
}
@Test
@TestMetadata("implicitInvokeWithSpecificType.kt")
public void testImplicitInvokeWithSpecificType() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeWithSpecificType.kt");
}
@Test
@TestMetadata("inGenericArgument.kt")
public void testInGenericArgument() {
@@ -38358,6 +38358,18 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/suspendConversion/chainedFunSuspendConversionForSimpleExpression.kt");
}
@Test
@TestMetadata("implicitInvokeFromChildClass.kt")
public void testImplicitInvokeFromChildClass() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeFromChildClass.kt");
}
@Test
@TestMetadata("implicitInvokeWithSpecificType.kt")
public void testImplicitInvokeWithSpecificType() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeWithSpecificType.kt");
}
@Test
@TestMetadata("inGenericArgument.kt")
public void testInGenericArgument() {
@@ -35930,6 +35930,18 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/suspendConversion/chainedFunSuspendConversionForSimpleExpression.kt");
}
@Test
@TestMetadata("implicitInvokeFromChildClass.kt")
public void testImplicitInvokeFromChildClass() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeFromChildClass.kt");
}
@Test
@TestMetadata("implicitInvokeWithSpecificType.kt")
public void testImplicitInvokeWithSpecificType() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeWithSpecificType.kt");
}
@Test
@TestMetadata("inGenericArgument.kt")
public void testInGenericArgument() {
@@ -36068,6 +36068,18 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/suspendConversion/chainedFunSuspendConversionForSimpleExpression.kt");
}
@Test
@TestMetadata("implicitInvokeFromChildClass.kt")
public void testImplicitInvokeFromChildClass() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeFromChildClass.kt");
}
@Test
@TestMetadata("implicitInvokeWithSpecificType.kt")
public void testImplicitInvokeWithSpecificType() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeWithSpecificType.kt");
}
@Test
@TestMetadata("inGenericArgument.kt")
public void testInGenericArgument() {
@@ -0,0 +1,14 @@
// FIR_IDENTICAL
// IGNORE_DIAGNOSTIC_API
// ISSUE: KT-62836
fun box() {
useSuspendFunInt(Child())
}
fun useSuspendFunInt(fn: suspend () -> String): String = ""
abstract class Test : () -> String
open class Child: Test() {
override fun invoke() = "OK"
}
@@ -0,0 +1,11 @@
// IGNORE_DIAGNOSTIC_API
// ISSUE: KT-62836
fun box() {
useSuspendFunInt(Test())
}
fun useSuspendFunInt(fn: suspend () -> String): String = ""
open class Test : () -> String? {
override fun invoke() = "OK"
}
@@ -0,0 +1,11 @@
// IGNORE_DIAGNOSTIC_API
// ISSUE: KT-62836
fun box() {
useSuspendFunInt(<!TYPE_MISMATCH!>Test()<!>)
}
fun useSuspendFunInt(fn: suspend () -> String): String = ""
open class Test : () -> String? {
override fun invoke() = "OK"
}
@@ -38358,6 +38358,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/suspendConversion/chainedFunSuspendConversionForSimpleExpression.kt");
}
@Test
@TestMetadata("implicitInvokeFromChildClass.kt")
public void testImplicitInvokeFromChildClass() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeFromChildClass.kt");
}
@Test
@TestMetadata("implicitInvokeWithSpecificType.kt")
public void testImplicitInvokeWithSpecificType() {
runTest("compiler/testData/diagnostics/tests/suspendConversion/implicitInvokeWithSpecificType.kt");
}
@Test
@TestMetadata("inGenericArgument.kt")
public void testInGenericArgument() {