Analysis API: add test covering get missing when branches
Also fix FIR implementation to generate boolean branches in the same order as FE1.0.
This commit is contained in:
committed by
Ilya Kirillov
parent
8ba2e4d221
commit
2c2851af6e
@@ -0,0 +1,5 @@
|
||||
fun test(b: Boolean) {
|
||||
<caret>when(b) {
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
True - true
|
||||
False - false
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test(b: Boolean) {
|
||||
<caret>when(b) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
True - true
|
||||
False - false
|
||||
@@ -0,0 +1,5 @@
|
||||
fun test(b: Boolean) {
|
||||
<caret>when(b) {
|
||||
true -> {}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
False - false
|
||||
@@ -0,0 +1,9 @@
|
||||
enum class MyEnum {
|
||||
A, B, C
|
||||
}
|
||||
|
||||
fun test(e: MyEnum) {
|
||||
<caret>when (e) {
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
EnumCheckIsMissing - MyEnum.A
|
||||
EnumCheckIsMissing - MyEnum.B
|
||||
EnumCheckIsMissing - MyEnum.C
|
||||
@@ -0,0 +1,8 @@
|
||||
enum class MyEnum {
|
||||
A, B, C
|
||||
}
|
||||
|
||||
fun test(e: MyEnum) {
|
||||
<caret>when (e) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
EnumCheckIsMissing - MyEnum.A
|
||||
EnumCheckIsMissing - MyEnum.B
|
||||
EnumCheckIsMissing - MyEnum.C
|
||||
@@ -0,0 +1,9 @@
|
||||
enum class MyEnum {
|
||||
A, B, C
|
||||
}
|
||||
|
||||
fun test(e: MyEnum) {
|
||||
<caret>when (e) {
|
||||
MyEnum.A -> {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
EnumCheckIsMissing - MyEnum.B
|
||||
EnumCheckIsMissing - MyEnum.C
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test(n: Nothing) {
|
||||
<caret>when (n) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Unknown - else
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test(b: Boolean?) {
|
||||
<caret>when(b) {
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
True - true
|
||||
False - false
|
||||
NullIsMissing - null
|
||||
@@ -0,0 +1,8 @@
|
||||
enum class MyEnum {
|
||||
A, B, C
|
||||
}
|
||||
|
||||
fun test(e: MyEnum?) {
|
||||
<caret>when (e) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
EnumCheckIsMissing - MyEnum.A
|
||||
EnumCheckIsMissing - MyEnum.B
|
||||
EnumCheckIsMissing - MyEnum.C
|
||||
NullIsMissing - null
|
||||
+1
@@ -0,0 +1 @@
|
||||
unknown - else
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test(n: Nothing?) {
|
||||
<caret>when (n) {
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
NullIsMissing - null
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
sealed class Foo {
|
||||
object A : Foo()
|
||||
class B(val i: Int) : Foo()
|
||||
}
|
||||
|
||||
fun test(e: Foo?) {
|
||||
<caret>when (e) {
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
IsTypeCheckIsMissing - Foo.A
|
||||
IsTypeCheckIsMissing - is Foo.B
|
||||
NullIsMissing - null
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
sealed class Foo {
|
||||
object A : Foo()
|
||||
class B(val i: Int) : Foo()
|
||||
}
|
||||
|
||||
fun test(e: Foo) {
|
||||
<caret>when (e) {
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
IsTypeCheckIsMissing - Foo.A
|
||||
IsTypeCheckIsMissing - is Foo.B
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
sealed class Foo {
|
||||
object A : Foo()
|
||||
class B(val i: Int) : Foo()
|
||||
}
|
||||
|
||||
fun test(e: Foo) {
|
||||
<caret>when (e) {
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
IsTypeCheckIsMissing - Foo.A
|
||||
IsTypeCheckIsMissing - is Foo.B
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
sealed class Foo {
|
||||
object A : Foo()
|
||||
class B(val i: Int) : Foo()
|
||||
}
|
||||
|
||||
fun test(e: Foo) {
|
||||
<caret>when (e) {
|
||||
Foo.A -> {}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
IsTypeCheckIsMissing - is Foo.B
|
||||
Reference in New Issue
Block a user