Add call checks related to suspend lambda modifier's introduction

- Prohibit non-modifier-like calls on kotlin.suspend
- Add warning on modifier-like calls to anything but kotlin.suspend

 #KT-22766 In Progress
 #KT-22562 In Progress
This commit is contained in:
Denis Zharkov
2018-01-25 13:46:56 +03:00
parent ef01f641f3
commit 99c7d8d4d5
10 changed files with 330 additions and 1 deletions
@@ -1332,6 +1332,18 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW
doTest(fileName);
}
@TestMetadata("modifierFormForNonBuiltInSuspend.kt")
public void testModifierFormForNonBuiltInSuspend() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/modifierFormForNonBuiltInSuspend.kt");
doTest(fileName);
}
@TestMetadata("modifierFormForNonBuiltInSuspendWithAnyParameter.kt")
public void testModifierFormForNonBuiltInSuspendWithAnyParameter() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/modifierFormForNonBuiltInSuspendWithAnyParameter.kt");
doTest(fileName);
}
@TestMetadata("noDefaultCoroutineImports.kt")
public void testNoDefaultCoroutineImports() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/noDefaultCoroutineImports.kt");
@@ -1344,6 +1356,18 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW
doTest(fileName);
}
@TestMetadata("nonModifierFormForBuiltIn.kt")
public void testNonModifierFormForBuiltIn() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/nonModifierFormForBuiltIn.kt");
doTest(fileName);
}
@TestMetadata("nonModifierFormForBuiltInRenameOnImport.kt")
public void testNonModifierFormForBuiltInRenameOnImport() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/nonModifierFormForBuiltInRenameOnImport.kt");
doTest(fileName);
}
@TestMetadata("operators.kt")
public void testOperators() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/operators.kt");
@@ -1332,6 +1332,18 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno
doTest(fileName);
}
@TestMetadata("modifierFormForNonBuiltInSuspend.kt")
public void testModifierFormForNonBuiltInSuspend() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/modifierFormForNonBuiltInSuspend.kt");
doTest(fileName);
}
@TestMetadata("modifierFormForNonBuiltInSuspendWithAnyParameter.kt")
public void testModifierFormForNonBuiltInSuspendWithAnyParameter() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/modifierFormForNonBuiltInSuspendWithAnyParameter.kt");
doTest(fileName);
}
@TestMetadata("noDefaultCoroutineImports.kt")
public void testNoDefaultCoroutineImports() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/noDefaultCoroutineImports.kt");
@@ -1344,6 +1356,18 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno
doTest(fileName);
}
@TestMetadata("nonModifierFormForBuiltIn.kt")
public void testNonModifierFormForBuiltIn() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/nonModifierFormForBuiltIn.kt");
doTest(fileName);
}
@TestMetadata("nonModifierFormForBuiltInRenameOnImport.kt")
public void testNonModifierFormForBuiltInRenameOnImport() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/nonModifierFormForBuiltInRenameOnImport.kt");
doTest(fileName);
}
@TestMetadata("operators.kt")
public void testOperators() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/operators.kt");