Data Inflow: Support grouping by expression nullability
This commit is contained in:
committed by
Nikolay Krasko
parent
0a1580159f
commit
c1cf03d89c
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
8 val <bold>x = foo(fun(n: Int) = n)</bold>
|
||||
8 val <bold>x = foo(fun(n: Int) = n)</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold>
|
||||
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold>
|
||||
@@ -0,0 +1,4 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = o as String</bold>
|
||||
4 val <bold>x = o as String</bold>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
|
||||
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
10 val x = <bold>foo</bold>
|
||||
10 val x = <bold>foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
12 val <bold>x = foo</bold>
|
||||
12 val <bold>x = foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
21 val <bold>y = b.foo()</bold>
|
||||
21 val <bold>y = b.foo()</bold>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
22 val <bold>z = c.foo()</bold>
|
||||
22 val <bold>z = c.foo()</bold>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
20 val <bold>x = a.foo()</bold>
|
||||
20 val <bold>x = a.foo()</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
8 val <bold>x = foo(1, 2) { { it } }</bold>
|
||||
8 val <bold>x = foo(1, 2) { { it } }</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 fun foo(<bold>n: Int</bold>, s: String = "???") {
|
||||
3 fun foo(<bold>n: Int</bold>, s: String = "???") {
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 fun foo(n: Int, <bold>s: String = "???"</bold>) {
|
||||
3 fun foo(n: Int, <bold>s: String = "???"</bold>) {
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
9 val <bold>x = foo(::bar)</bold>
|
||||
9 val <bold>x = foo(::bar)</bold>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
10 val <bold>x = foo(f)</bold>
|
||||
10 val <bold>x = foo(f)</bold>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
5 val <bold>x = (::bar)(1)</bold>
|
||||
5 val <bold>x = (::bar)(1)</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 fun <bold>foo(n: Int) = n + 1</bold>
|
||||
3 fun <bold>foo(n: Int) = n + 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 fun <bold>foo(n: Int): Int {</bold>
|
||||
3 fun <bold>foo(n: Int): Int {</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
11 val x = <bold>foo</bold>
|
||||
11 val x = <bold>foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
7 val <bold>x = foo</bold>
|
||||
7 val <bold>x = foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
9 val <bold>x = foo</bold>
|
||||
9 val <bold>x = foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = if (m > 1) n else 1</bold>
|
||||
4 val <bold>x = if (m > 1) n else 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
8 val <bold>x = foo { it }</bold>
|
||||
8 val <bold>x = foo { it }</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
9 val <bold>y = foo { it }</bold>
|
||||
9 val <bold>y = foo { it }</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = { 1 }()</bold>
|
||||
4 val <bold>x = { 1 }()</bold>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
5 val <bold>x = f()</bold>
|
||||
5 val <bold>x = f()</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = n</bold>
|
||||
4 val <bold>x = n</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 var <bold>x = n</bold>
|
||||
4 var <bold>x = n</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x: Int = 1</bold>
|
||||
4 val <bold>x: Int = 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x: Int</bold>
|
||||
4 val <bold>x: Int</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 var <bold>x: Int = 1</bold>
|
||||
4 var <bold>x: Int = 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 var <bold>x: Int</bold>
|
||||
4 var <bold>x: Int</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
11 val x = <bold>foo</bold>
|
||||
11 val x = <bold>foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
5 fun <bold>bar(a: Int): Int = foo(a) { if (it > 0) it else return 0 }</bold>
|
||||
5 fun <bold>bar(a: Int): Int = foo(a) { if (it > 0) it else return 0 }</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = s!!</bold>
|
||||
4 val <bold>x = s!!</bold>
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// FLOW: IN
|
||||
|
||||
fun test(n: Int): String {
|
||||
var s = when {
|
||||
n > 0 -> "+"
|
||||
n < 0 -> "-"
|
||||
else -> null
|
||||
}
|
||||
return <caret>s
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
7 else -> <bold>null</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
7 else -> <bold>null</bold>
|
||||
|
||||
6 n < 0 -> <bold>"-"</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
6 n < 0 -> <bold>"-"</bold>
|
||||
|
||||
5 n > 0 -> <bold>"+"</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
5 n > 0 -> <bold>"+"</bold>
|
||||
@@ -0,0 +1,18 @@
|
||||
[Null Values]
|
||||
7 else -> <bold>null</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
7 else -> <bold>null</bold>
|
||||
|
||||
[NotNull Values]
|
||||
6 n < 0 -> <bold>"-"</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
6 n < 0 -> <bold>"-"</bold>
|
||||
5 n > 0 -> <bold>"+"</bold>
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
5 n > 0 -> <bold>"+"</bold>
|
||||
@@ -0,0 +1,6 @@
|
||||
9 return <bold>s</bold>
|
||||
4 var <bold>s = when {</bold>
|
||||
4 var s = <bold>when {</bold>
|
||||
5 n > 0 -> <bold>"+"</bold>
|
||||
6 n < 0 -> <bold>"-"</bold>
|
||||
7 else -> <bold>null</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
17 val <bold>y = b.foo()</bold>
|
||||
17 val <bold>y = b.foo()</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
15 val <bold>y = b.foo</bold>
|
||||
15 val <bold>y = b.foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
20 val <bold>y = b.foo</bold>
|
||||
20 val <bold>y = b.foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
17 val <bold>y = b.foo</bold>
|
||||
17 val <bold>y = b.foo</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 open class A(<bold>n: Int</bold>, s: String = "???")
|
||||
3 open class A(<bold>n: Int</bold>, s: String = "???")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 open class A(n: Int, <bold>s: String = "???"</bold>)
|
||||
3 open class A(n: Int, <bold>s: String = "???"</bold>)
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
15 println("Now my name is '${a.<bold>name</bold>}'")
|
||||
15 println("Now my name is '${a.<bold>name</bold>}'")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
8 println("And now my name is '$<bold>name</bold>'")
|
||||
8 println("And now my name is '$<bold>name</bold>'")
|
||||
@@ -0,0 +1,6 @@
|
||||
[NotNull Values]
|
||||
4 val x = <bold>o</bold> as? String
|
||||
4 val <bold>x = o as? String</bold>
|
||||
4 val x = <bold>o as? String</bold>
|
||||
4 val x = <bold>o</bold> as? String
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 constructor(<bold>n: Int</bold>, s: String = "???")
|
||||
4 constructor(<bold>n: Int</bold>, s: String = "???")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 constructor(n: Int, <bold>s: String = "???"</bold>)
|
||||
4 constructor(n: Int, <bold>s: String = "???"</bold>)
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
25 println("My name is '${a.<bold>name</bold>}'")
|
||||
25 println("My name is '${a.<bold>name</bold>}'")
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
19 println("Now my name is '$<bold>name</bold>'")
|
||||
19 println("Now my name is '$<bold>name</bold>'")
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 val <bold>foo: Int = 1</bold>
|
||||
3 val <bold>foo: Int = 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 var <bold>foo: Int = 1</bold>
|
||||
3 var <bold>foo: Int = 1</bold>
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 open class A(val <bold>n: Int</bold>)
|
||||
3 open class A(val <bold>n: Int</bold>)
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
3 open class A(var <bold>n: Int</bold>) {
|
||||
3 open class A(var <bold>n: Int</bold>) {
|
||||
@@ -0,0 +1,3 @@
|
||||
[NotNull Values]
|
||||
4 val <bold>x = when (m) {</bold>
|
||||
4 val <bold>x = when (m) {</bold>
|
||||
Reference in New Issue
Block a user