[TD] Update test data after previous commit
This commit is contained in:
@@ -26,7 +26,7 @@ fun test_3(a: A?, b: Boolean) {
|
||||
if (b && a!!.foo()) {
|
||||
a.foo() // OK
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Bad
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!> // Bad
|
||||
}
|
||||
|
||||
fun test_4(a: A?, b: Boolean) {
|
||||
@@ -38,9 +38,9 @@ fun test_4(a: A?, b: Boolean) {
|
||||
|
||||
fun test_5(a: A?, b: Boolean) {
|
||||
if (b || a!!.foo()) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun <X : A?> test_6(x: X) {
|
||||
@@ -49,4 +49,4 @@ fun <X : A?> test_6(x: X) {
|
||||
|
||||
fun <X : A> test_7(x: X?) {
|
||||
x!!.foo()
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -24,8 +24,8 @@ fun test_1(x: Any) {
|
||||
fun test_2(x: Any) {
|
||||
if (x is B || x is C) {
|
||||
x.foo()
|
||||
x.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>baz<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>baz<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,26 +59,26 @@ fun test_6(x: Any) {
|
||||
fun test_7(x: Any) {
|
||||
if (x is A || false) {
|
||||
// TODO: should be smartcast
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun test_8(x: Any) {
|
||||
if (false || x is A) {
|
||||
// TODO: should be smartcast
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun test_9(x: Any) {
|
||||
if (x is A || true) {
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun test_10(x: Any) {
|
||||
if (true || x is A) {
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ fun test_10(x: Any) {
|
||||
|
||||
fun test_11(x: Any, b: Boolean) {
|
||||
if (false && x is A) {
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -8,13 +8,13 @@ fun test_1(b: Boolean?) {
|
||||
if ((b == true) == true) {
|
||||
b.not() // OK
|
||||
} else {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_2(b: Boolean?) {
|
||||
if ((b == true) != true) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
} else {
|
||||
b.not() // OK
|
||||
}
|
||||
@@ -22,7 +22,7 @@ fun test_2(b: Boolean?) {
|
||||
|
||||
fun test_3(b: Boolean?) {
|
||||
if ((b == true) == false) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
} else {
|
||||
b.not() // OK
|
||||
}
|
||||
@@ -32,13 +32,13 @@ fun test_4(b: Boolean?) {
|
||||
if ((b == true) != false) {
|
||||
b.not() // OK
|
||||
} else {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_5(b: Boolean?) {
|
||||
if ((b != true) == true) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
} else {
|
||||
b.not() // OK
|
||||
}
|
||||
@@ -48,7 +48,7 @@ fun test_6(b: Boolean?) {
|
||||
if ((b != true) != true) {
|
||||
b.not() // OK
|
||||
} else {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,14 +56,14 @@ fun test_7(b: Boolean?) {
|
||||
if ((b != true) == false) {
|
||||
b.not() // OK
|
||||
} else {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_8(b: Boolean?) {
|
||||
if ((b != true) != false) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>not<!>() // Bad
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>not<!>()<!> // Bad
|
||||
} else {
|
||||
b.not() // OK
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -34,24 +34,24 @@ fun test_4(a: A?) {
|
||||
|
||||
fun test_5(a: A?) {
|
||||
a == null || throw Exception()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun teat_6(a: A?) {
|
||||
a != null && throw Exception()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun test_7(a: A?) {
|
||||
if (a == null || throw Exception()) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun test_8(a: A?) {
|
||||
if (a != null && throw Exception()) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@ fun test_3(x: Any, y: Any) {
|
||||
}
|
||||
z = y
|
||||
if (y is B) {
|
||||
z.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
z.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
z.bar()
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ fun test_4(y: Any) {
|
||||
x as Int
|
||||
x.inc()
|
||||
x = y
|
||||
x.<!UNRESOLVED_REFERENCE!>inc<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>inc<!>()<!>
|
||||
if (y is A) {
|
||||
x.foo()
|
||||
y.foo()
|
||||
@@ -75,4 +75,4 @@ fun test_7(d1: D, d2: D) {
|
||||
a.foo() // should be OK
|
||||
b as B
|
||||
b.bar() // should be OK
|
||||
}
|
||||
}
|
||||
|
||||
compiler/fir/analysis-tests/testData/resolve/smartcasts/boundSmartcasts/boundSmartcastsInBranches.kt
Vendored
+1
-1
@@ -118,4 +118,4 @@ fun test_7() {
|
||||
y.<!INAPPLICABLE_CANDIDATE!>length<!> // Bad
|
||||
z.length // OK
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,31 +15,31 @@ fun test_3(b: Boolean, x: Any?) {
|
||||
if (b && x as Boolean) {
|
||||
x.not()
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
|
||||
if (b && x as Boolean == true) {
|
||||
x.not()
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
|
||||
if (b || x as Boolean) {
|
||||
x.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
}
|
||||
|
||||
fun test_4(b: Any) {
|
||||
if (b as? Boolean != null) {
|
||||
b.not()
|
||||
} else {
|
||||
b.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
b.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
}
|
||||
b.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
b.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
|
||||
if (b as? Boolean == null) {
|
||||
b.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
b.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
} else {
|
||||
b.not()
|
||||
}
|
||||
b.<!UNRESOLVED_REFERENCE!>not<!>()
|
||||
}
|
||||
b.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>not<!>()<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ fun test2(a: Any?, b: Any?): String {
|
||||
if (b !is String) return ""
|
||||
if (a !is String?) return ""
|
||||
return a ?: b
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -36,8 +36,8 @@ fun test_2(x: Any) {
|
||||
else -> return
|
||||
}
|
||||
x.foo()
|
||||
x.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>baz<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>baz<!>()<!>
|
||||
}
|
||||
|
||||
fun test_3(x: Any) {
|
||||
@@ -45,9 +45,9 @@ fun test_3(x: Any) {
|
||||
x is B -> x.bar()
|
||||
x is C -> x.baz()
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>baz<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>baz<!>()<!>
|
||||
}
|
||||
|
||||
fun <T> runHigherOrder(f: () -> T): T = f()
|
||||
@@ -60,4 +60,4 @@ fun test_4(a: Any?) {
|
||||
runHigherOrder {
|
||||
s.length // Should be OK
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,4 +23,4 @@ fun test_3(x: Any) {
|
||||
x.inc()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -9,4 +9,4 @@ fun test(a: Any) {
|
||||
if (takeA(a as? A ?: return)) {
|
||||
a.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -89,4 +89,4 @@ fun test_4(x: Any) {
|
||||
1 -> x.inc()
|
||||
}
|
||||
x.inc()
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -16,12 +16,12 @@ fun test_1(x: A, y: A?) {
|
||||
|
||||
fun test_2(x: A?, y: A?) {
|
||||
if (x == y) {
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
y.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
y.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
if (x === y) {
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
y.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
y.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,4 +35,4 @@ fun test_3(x: A?, y: A?) {
|
||||
x.foo()
|
||||
y.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,4 @@ fun d() {
|
||||
koko = null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,4 @@ fun Q.foo() {
|
||||
when (this) {
|
||||
is B -> x // unresolved
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,4 +9,4 @@ fun main(a: A) {
|
||||
if (a === X) {
|
||||
foo(a)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -30,4 +30,4 @@ fun test_3(x: Any?) {
|
||||
}
|
||||
x.bar()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,4 +20,4 @@ private fun foo(p: Sealed) {
|
||||
is SubClass1 -> p.t
|
||||
is SubClass2 -> "2"
|
||||
}.length // should be resolved, but when is not considered as sealed because type of p is not a sealed class
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@ fun test(func: (() -> Unit)?) {
|
||||
if (func != null) {
|
||||
func()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -10,4 +10,4 @@ fun test() {
|
||||
while (a is B || a is C) {
|
||||
a.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ fun test_4(x: Any, b: Boolean) {
|
||||
}
|
||||
break
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>() // No smartcast
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!> // No smartcast
|
||||
}
|
||||
|
||||
fun test_5(x: Any, b: Boolean) {
|
||||
|
||||
@@ -26,4 +26,4 @@ fun test_1() {
|
||||
a.foo()
|
||||
b.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,18 +39,18 @@ fun test_1(x: A?) {
|
||||
if (x != null) {
|
||||
x.foo()
|
||||
} else {
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun test_2(x: A?) {
|
||||
if (x == null) {
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
} else {
|
||||
x.foo()
|
||||
}
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun test_3(x: A?) {
|
||||
@@ -83,8 +83,8 @@ fun test_6(q: Q?) {
|
||||
fun test_7(q: Q?) {
|
||||
if (q?.fdata()?.fs()?.inc() != null) {
|
||||
q.fdata() // good
|
||||
q.fdata().<!INAPPLICABLE_CANDIDATE!>fs<!>() // bad
|
||||
q.fdata().<!INAPPLICABLE_CANDIDATE!>fs<!>().inc() // bad
|
||||
q.fdata().<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>fs<!>()<!> // bad
|
||||
q.fdata().<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>fs<!>()<!>.inc() // bad
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,44 +98,44 @@ fun test_9(a: Int, b: Int?) {
|
||||
if (a == b) {
|
||||
b.inc()
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (a === b) {
|
||||
b.inc()
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (b == a) {
|
||||
b.inc()
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (b === a) {
|
||||
b.inc()
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
|
||||
fun test_10(a: Int?, b: Int?) {
|
||||
if (a == b) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (a === b) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (b == a) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
|
||||
if (b === a) {
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
b.<!INAPPLICABLE_CANDIDATE!>inc<!>()
|
||||
b.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>inc<!>()<!>
|
||||
}
|
||||
|
||||
fun test_11(q: QImpl?, q2: QImpl) {
|
||||
|
||||
@@ -4,24 +4,24 @@ fun String.foo() {}
|
||||
|
||||
fun test_1(a: Any?) {
|
||||
when (a) {
|
||||
is String, is Any -> a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Should be Bad
|
||||
is String, is Any -> a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!> // Should be Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_2(a: Any?) {
|
||||
if (a is String || a is Any) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Should be Bad
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!> // Should be Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_3(a: Any?, b: Boolean) {
|
||||
when (a) {
|
||||
is String, b -> a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Should be Bad
|
||||
is String, b -> a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!> // Should be Bad
|
||||
}
|
||||
}
|
||||
|
||||
fun test_4(a: Any?, b: Boolean) {
|
||||
if (a is String || b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Should be Bad
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!> // Should be Bad
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -15,4 +15,4 @@ fun Any.test_2(): Int = when (val x = this) {
|
||||
length
|
||||
}
|
||||
else -> 0
|
||||
}
|
||||
}
|
||||
|
||||
+19
-19
@@ -14,23 +14,23 @@ fun Any?.test_1() {
|
||||
this.foo()
|
||||
foo()
|
||||
} else {
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun Any?.test_2() {
|
||||
if (this !is A) {
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
} else {
|
||||
this.foo()
|
||||
foo()
|
||||
}
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
fun test_3(a: Any, b: Any, c: Any) {
|
||||
@@ -49,13 +49,13 @@ fun test_3(a: Any, b: Any, c: Any) {
|
||||
|
||||
fun Any?.test_4() {
|
||||
if (this !is A) {
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
} else if (this !is B) {
|
||||
this.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
this.foo()
|
||||
foo()
|
||||
} else {
|
||||
@@ -64,10 +64,10 @@ fun Any?.test_4() {
|
||||
this.bar()
|
||||
bar()
|
||||
}
|
||||
this.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
this.<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>foo<!>()<!>
|
||||
this.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bar<!>()<!>
|
||||
}
|
||||
|
||||
fun Any.test_5(): Int = when {
|
||||
@@ -81,4 +81,4 @@ fun Any.test_6() {
|
||||
size
|
||||
this as String
|
||||
length
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,4 +11,4 @@ class Wrapper(val s: String?) {
|
||||
}
|
||||
}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun takeString(s: String) {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun takeString(s: String) {}<!>
|
||||
|
||||
+1
-1
@@ -57,4 +57,4 @@ fun test_2(a: B?) {
|
||||
val a = x as? B ?: return
|
||||
a.foo() // Should be OK
|
||||
x.foo() // Should be OK
|
||||
}<!>
|
||||
}<!>
|
||||
|
||||
Vendored
+1
-1
@@ -31,4 +31,4 @@ fun test_4(s: String?) {
|
||||
} else {
|
||||
s.length // Should be OK
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -22,17 +22,17 @@ fun test_3(x: Any) {
|
||||
(x as? A)?.bar(x)?.foo(x.bool())?.let {
|
||||
x.bool()
|
||||
}
|
||||
x.<!UNRESOLVED_REFERENCE!>bool<!>()
|
||||
x.<!UNRESOLVED_REFERENCE{LT}!><!UNRESOLVED_REFERENCE{PSI}!>bool<!>()<!>
|
||||
}
|
||||
|
||||
fun test_4(x: A?) {
|
||||
x?.id()?.bool()
|
||||
x.<!INAPPLICABLE_CANDIDATE!>id<!>()
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>id<!>()<!>
|
||||
}
|
||||
|
||||
fun Any?.boo(b: Boolean) {}
|
||||
|
||||
fun test_5(x: A?) {
|
||||
x?.let { return }?.boo(x.bool())
|
||||
x.<!INAPPLICABLE_CANDIDATE!>id<!>()
|
||||
}
|
||||
x.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>id<!>()<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -13,4 +13,4 @@ fun test_2(b: B) {
|
||||
if (b.x is String) {
|
||||
b.x.length
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -11,5 +11,5 @@ fun test(b: Boolean) {
|
||||
} else {
|
||||
a = null
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
}
|
||||
a.<!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>foo<!>()<!>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -19,4 +19,4 @@ fun test_3() {
|
||||
x.length
|
||||
x = null
|
||||
x.<!INAPPLICABLE_CANDIDATE!>length<!>
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user