Allow to process return statements without parent KtDeclaration (EA-70883)

This commit is contained in:
Nikolay Krasko
2016-02-05 15:08:06 +03:00
committed by Nikolay Krasko
parent 1e50847985
commit 938a435346
6 changed files with 20 additions and 1 deletions
@@ -0,0 +1,4 @@
fun foo(): Int? {
val a: Int? = 1
<caret>return a
}
@@ -0,0 +1 @@
<error descr="[RETURN_NOT_ALLOWED] 'return' is not allowed here">return a</error>
@@ -0,0 +1 @@
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: suppress">@file:suppress</error>(<error descr="[RETURN_NOT_ALLOWED] 'return' is not allowed here"><error descr="[RETURN_NOT_ALLOWED] 'return' is not allowed here">return <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: a"><error descr="[UNRESOLVED_REFERENCE] Unresolved reference: a">a</error></error></error></error>)
@@ -630,6 +630,12 @@ public class PsiCheckerTestGenerated extends AbstractPsiCheckerTest {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/recovery/namelessToplevelDeclarations.kt");
doTest(fileName);
}
@TestMetadata("returnInFileAnnotation.kt")
public void testReturnInFileAnnotation() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/recovery/returnInFileAnnotation.kt");
doTest(fileName);
}
}
@TestMetadata("idea/testData/checker/rendering")
@@ -151,6 +151,12 @@ public class CodeFragmentHighlightingTestGenerated extends AbstractCodeFragmentH
doTest(fileName);
}
@TestMetadata("startingFromReturn.kt")
public void testStartingFromReturn() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/codeFragments/startingFromReturn.kt");
doTest(fileName);
}
@TestMetadata("withoutBodyFunction.kt")
public void testWithoutBodyFunction() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/codeFragments/withoutBodyFunction.kt");