Regression test #KT-8277 Can't Reproduce

This commit is contained in:
Mikhail Glukhikh
2016-01-28 13:32:05 +03:00
parent 12b100c541
commit 069282cb6e
3 changed files with 55 additions and 0 deletions
@@ -0,0 +1,37 @@
// See KT-8277
val v = { true } <!USELESS_ELVIS!><!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> ( { true } <!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> null!! )<!>
val w = if (true) {
{ true }
}
else {
{ true } <!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> null!!
}
val <!IMPLICIT_NOTHING_PROPERTY_TYPE!>ww<!> = if (true) {
<!TYPE_MISMATCH!>{ true }<!> <!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> null!!
}
else if (true) {
<!TYPE_MISMATCH!>{ true }<!> <!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> null!!
}
else {
null!!
}
val <!IMPLICIT_NOTHING_PROPERTY_TYPE!>n<!> = null ?: (null ?: <!TYPE_MISMATCH!>{ true }<!>)
fun l(): (() -> Boolean)? = null
val b = null ?: ( l() ?: false)
val bb = null ?: ( l() ?: null!!)
val bbb = null ?: ( l() ?: null)
val bbbb = ( l() ?: null) ?: ( l() ?: null)
fun f(x : Long?): Long {
var a = x ?: (<!TYPE_MISMATCH!>fun() {}<!> <!USELESS_ELVIS!><!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> <!TYPE_MISMATCH!>fun() {}<!><!>)
return <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>a<!>
}
@@ -0,0 +1,12 @@
package
public val b: kotlin.Any
public val bb: () -> kotlin.Boolean
public val bbb: (() -> kotlin.Boolean)?
public val bbbb: (() -> kotlin.Boolean)?
public val n: kotlin.Nothing
public val v: () -> kotlin.Boolean
public val w: () -> kotlin.Boolean
public val ww: kotlin.Nothing
public fun f(/*0*/ x: kotlin.Long?): kotlin.Long
public fun l(): (() -> kotlin.Boolean)?
@@ -2853,6 +2853,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("elvisNotProcessed.kt")
public void testElvisNotProcessed() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis/elvisNotProcessed.kt");
doTest(fileName);
}
@TestMetadata("initializationInLambda.kt")
public void testInitializationInLambda() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis/initializationInLambda.kt");