FE KT-47939 callable references to functional interface constructors

Allow callable references to Kotlin 'fun interface' constructors.
Prohibit callable references to Java SAM interface constructors.
This commit is contained in:
Dmitry Petrov
2021-11-29 15:10:14 +03:00
committed by TeamCityServer
parent bfb6e73728
commit 1fd0dec5e7
26 changed files with 188 additions and 43 deletions
@@ -10919,6 +10919,18 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
runTest("compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt");
}
@Test
@TestMetadata("funInterfaceConstructorReferences_after.kt")
public void testFunInterfaceConstructorReferences_after() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/funInterfaceConstructorReferences_after.kt");
}
@Test
@TestMetadata("funInterfaceConstructorReferences_before.kt")
public void testFunInterfaceConstructorReferences_before() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/funInterfaceConstructorReferences_before.kt");
}
@Test
@TestMetadata("funInterfaceConversionOnReceiver.kt")
public void testFunInterfaceConversionOnReceiver() throws Exception {
@@ -10961,12 +10973,6 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
runTest("compiler/testData/diagnostics/tests/funInterface/noCompatibilityResolveForFunInterfaces.kt");
}
@Test
@TestMetadata("prohibitFunInterfaceConstructorReferences.kt")
public void testProhibitFunInterfaceConstructorReferences() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/prohibitFunInterfaceConstructorReferences.kt");
}
@Test
@TestMetadata("resolveFunInterfaceWithoutMainMethod.kt")
public void testResolveFunInterfaceWithoutMainMethod() throws Exception {
@@ -10919,6 +10919,18 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
runTest("compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt");
}
@Test
@TestMetadata("funInterfaceConstructorReferences_after.kt")
public void testFunInterfaceConstructorReferences_after() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/funInterfaceConstructorReferences_after.kt");
}
@Test
@TestMetadata("funInterfaceConstructorReferences_before.kt")
public void testFunInterfaceConstructorReferences_before() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/funInterfaceConstructorReferences_before.kt");
}
@Test
@TestMetadata("funInterfaceConversionOnReceiver.kt")
public void testFunInterfaceConversionOnReceiver() throws Exception {
@@ -10961,12 +10973,6 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
runTest("compiler/testData/diagnostics/tests/funInterface/noCompatibilityResolveForFunInterfaces.kt");
}
@Test
@TestMetadata("prohibitFunInterfaceConstructorReferences.kt")
public void testProhibitFunInterfaceConstructorReferences() throws Exception {
runTest("compiler/testData/diagnostics/tests/funInterface/prohibitFunInterfaceConstructorReferences.kt");
}
@Test
@TestMetadata("resolveFunInterfaceWithoutMainMethod.kt")
public void testResolveFunInterfaceWithoutMainMethod() throws Exception {