Fix of getCorrespondingLoop for complex loop / try-finally trees #KT-8246 Fixed

This commit is contained in:
Mikhail Glukhikh
2016-03-25 19:32:50 +03:00
parent f385c85672
commit b7e8f71367
19 changed files with 561 additions and 16 deletions
@@ -166,6 +166,18 @@ public class ControlFlowTestGenerated extends AbstractControlFlowTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/cfg/controlStructures"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("breakContinueInTryFinally.kt")
public void testBreakContinueInTryFinally() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/breakContinueInTryFinally.kt");
doTest(fileName);
}
@TestMetadata("breakInsideLocal.kt")
public void testBreakInsideLocal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/breakInsideLocal.kt");
doTest(fileName);
}
@TestMetadata("continueInDoWhile.kt")
public void testContinueInDoWhile() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/continueInDoWhile.kt");
@@ -168,6 +168,18 @@ public class PseudoValueTestGenerated extends AbstractPseudoValueTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/cfg/controlStructures"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("breakContinueInTryFinally.kt")
public void testBreakContinueInTryFinally() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/breakContinueInTryFinally.kt");
doTest(fileName);
}
@TestMetadata("breakInsideLocal.kt")
public void testBreakInsideLocal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/breakInsideLocal.kt");
doTest(fileName);
}
@TestMetadata("continueInDoWhile.kt")
public void testContinueInDoWhile() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cfg/controlStructures/continueInDoWhile.kt");
@@ -2847,6 +2847,18 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("breakContinueInTryFinally.kt")
public void testBreakContinueInTryFinally() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis/breakContinueInTryFinally.kt");
doTest(fileName);
}
@TestMetadata("breakInsideLocal.kt")
public void testBreakInsideLocal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis/breakInsideLocal.kt");
doTest(fileName);
}
@TestMetadata("breakOrContinueInLoopCondition.kt")
public void testBreakOrContinueInLoopCondition() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis/breakOrContinueInLoopCondition.kt");
@@ -3421,6 +3421,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName);
}
@TestMetadata("breakInFinally.kt")
public void testBreakInFinally() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/controlStructures/breakInFinally.kt");
doTest(fileName);
}
@TestMetadata("compareBoxedIntegerToZero.kt")
public void testCompareBoxedIntegerToZero() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/controlStructures/compareBoxedIntegerToZero.kt");