Front-end fix: result type corrected for increment / decrement expressions. Smart cast allowed on a postfix increment result. See KT-7561.

Now result type is receiver type for postfix increment, or increment result type for prefix increment.
A set of relevant tests.
This commit is contained in:
Mikhail Glukhikh
2015-04-30 15:08:15 +03:00
parent ea6d0b464d
commit 5723c2a077
17 changed files with 212 additions and 3 deletions
@@ -11763,6 +11763,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("kt7561.kt")
public void testKt7561() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/kt7561.kt");
doTest(fileName);
}
@TestMetadata("noErrorCheckForPackageLevelVal.kt")
public void testNoErrorCheckForPackageLevelVal() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/noErrorCheckForPackageLevelVal.kt");
@@ -12677,6 +12683,42 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("postfixNotnullClassIncrement.kt")
public void testPostfixNotnullClassIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/postfixNotnullClassIncrement.kt");
doTest(fileName);
}
@TestMetadata("postfixNullableClassIncrement.kt")
public void testPostfixNullableClassIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/postfixNullableClassIncrement.kt");
doTest(fileName);
}
@TestMetadata("postfixNullableIncrement.kt")
public void testPostfixNullableIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/postfixNullableIncrement.kt");
doTest(fileName);
}
@TestMetadata("prefixNotnullClassIncrement.kt")
public void testPrefixNotnullClassIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/prefixNotnullClassIncrement.kt");
doTest(fileName);
}
@TestMetadata("prefixNullableClassIncrement.kt")
public void testPrefixNullableClassIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/prefixNullableClassIncrement.kt");
doTest(fileName);
}
@TestMetadata("prefixNullableIncrement.kt")
public void testPrefixNullableIncrement() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/prefixNullableIncrement.kt");
doTest(fileName);
}
@TestMetadata("unnecessary.kt")
public void testUnnecessary() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/unnecessary.kt");