report type mismatch deeply on branches for if

in type argument inference case
This commit is contained in:
Svetlana Isakova
2013-07-31 18:16:01 +04:00
parent c5b6ee4df3
commit e2f681c587
5 changed files with 107 additions and 27 deletions
@@ -1258,6 +1258,7 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
}
@TestMetadata("compiler/testData/diagnostics/tests/controlStructures")
@InnerTestClasses({ControlStructures.If.class})
public static class ControlStructures extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInControlStructures() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/diagnostics/tests/controlStructures"), Pattern.compile("^(.+)\\.kt$"), true);
@@ -1323,6 +1324,25 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
doTest("compiler/testData/diagnostics/tests/controlStructures/when.kt234.kt973.kt");
}
@TestMetadata("compiler/testData/diagnostics/tests/controlStructures/if")
public static class If extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInIf() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/diagnostics/tests/controlStructures/if"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("reportTypeMismatchDeeplyOnBranches.kt")
public void testReportTypeMismatchDeeplyOnBranches() throws Exception {
doTest("compiler/testData/diagnostics/tests/controlStructures/if/reportTypeMismatchDeeplyOnBranches.kt");
}
}
public static Test innerSuite() {
TestSuite suite = new TestSuite("ControlStructures");
suite.addTestSuite(ControlStructures.class);
suite.addTestSuite(If.class);
return suite;
}
}
@TestMetadata("compiler/testData/diagnostics/tests/dataClasses")
@@ -5353,7 +5373,7 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
suite.addTestSuite(Cast.class);
suite.addTestSuite(CheckArguments.class);
suite.addTestSuite(ControlFlowAnalysis.class);
suite.addTestSuite(ControlStructures.class);
suite.addTest(ControlStructures.innerSuite());
suite.addTestSuite(DataClasses.class);
suite.addTest(DataFlow.innerSuite());
suite.addTestSuite(DataFlowInfoTraversal.class);