[FIR] Improve source selection for NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER
This commit is contained in:
committed by
Space Team
parent
c9d23f795a
commit
888c1defa0
+2
-2
@@ -185,7 +185,7 @@ fun poll25(flag: Boolean): Flow<String> {
|
||||
|
||||
fun poll26(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::Foo7 }
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> }
|
||||
inv
|
||||
}
|
||||
}
|
||||
@@ -479,7 +479,7 @@ fun poll85(): Flow<String> {
|
||||
|
||||
fun poll86(): Flow<String> {
|
||||
return flow {
|
||||
val inv = ::Foo7 in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
val inv = ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
inv
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -187,7 +187,7 @@ fun poll25(flag: Boolean): Flow<String> {
|
||||
|
||||
fun poll26(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::Foo7 }
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> }
|
||||
inv
|
||||
}
|
||||
}
|
||||
@@ -481,7 +481,7 @@ fun poll85(): Flow<String> {
|
||||
|
||||
fun poll86(): Flow<String> {
|
||||
return flow {
|
||||
val inv = ::Foo7 in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
val inv = ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
inv
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -64,9 +64,9 @@ val <T> T.genericLambda: T.((T) -> Unit) -> Unit get() = {}
|
||||
|
||||
fun test6() {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>b<!> <!CANNOT_INFER_PARAMETER_TYPE!>{
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extension<!>()
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extension<!>()
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { }
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { it.extension() }
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { it.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>extension<!>() }
|
||||
use(::extension)
|
||||
}<!>
|
||||
}
|
||||
|
||||
+2
-2
@@ -65,9 +65,9 @@ val <T> T.genericLambda: T.((T) -> Unit) -> Unit get() = {}
|
||||
|
||||
fun test6() {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>b<!> <!CANNOT_INFER_PARAMETER_TYPE!>{
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extension<!>()
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extension<!>()
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { }
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { it.extension() }
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>genericLambda<!> { it.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>extension<!>() }
|
||||
use(::extension)
|
||||
}<!>
|
||||
}
|
||||
|
||||
+2
-2
@@ -53,8 +53,8 @@ fun testParameter() {
|
||||
takeFnToParameter { Unit }
|
||||
takeFnToParameter { <!UNRESOLVED_REFERENCE!>unresolved<!>() }
|
||||
takeFnToParameter { if (true) <!UNRESOLVED_REFERENCE!>unresolved<!>() }
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeFnToParameter<!> {
|
||||
if (true) <!UNRESOLVED_REFERENCE!>unresolved<!>() else <!UNRESOLVED_REFERENCE!>unresolved<!>()
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeFnToParameter<!> {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>if (true) <!UNRESOLVED_REFERENCE!>unresolved<!>() else <!UNRESOLVED_REFERENCE!>unresolved<!>()<!>
|
||||
}
|
||||
takeFnToParameter(fun() = Unit)
|
||||
takeFnToParameter(fun() {})
|
||||
|
||||
Vendored
+4
-4
@@ -27,12 +27,12 @@ fun test2() {
|
||||
null
|
||||
)<!>
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>select<!>(
|
||||
<!CANNOT_INFER_PARAMETER_TYPE{LT}!><!CANNOT_INFER_PARAMETER_TYPE{PSI}!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>()<!>,
|
||||
materialize()<!>
|
||||
<!CANNOT_INFER_PARAMETER_TYPE{LT}!><!CANNOT_INFER_PARAMETER_TYPE{PSI}!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>()<!>,
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>()<!>
|
||||
)
|
||||
select(
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>(),
|
||||
materialize(),
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>(),
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>(),
|
||||
null
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ package n
|
||||
import checkSubtype
|
||||
|
||||
fun main() {
|
||||
val a = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>array<!>(<!CANNOT_INFER_PARAMETER_TYPE!>array()<!>)
|
||||
val a = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>array<!>(<!CANNOT_INFER_PARAMETER_TYPE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>array<!>()<!>)
|
||||
val a0 : Array<Array<Int>> = array(array())
|
||||
val a1 = array(array<Int>())
|
||||
checkSubtype<Array<Array<Int>>>(a1)
|
||||
|
||||
@@ -7,18 +7,18 @@ fun test() {
|
||||
id(<!UNRESOLVED_REFERENCE!>unresolved<!>)!!
|
||||
<!UNRESOLVED_REFERENCE!>unresolved<!>!!<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>try {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
} catch (e: Exception) {
|
||||
id(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
}<!>
|
||||
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>if (true)
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
else
|
||||
id(<!UNRESOLVED_REFERENCE!>unresolved<!>)<!>
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)<!>
|
||||
|
||||
when {
|
||||
true -> id(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
}
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>) ?: id(<!UNRESOLVED_REFERENCE!>unresolved<!>)<!>
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>) ?: <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)<!>
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ fun <K> id(arg: K): K = arg
|
||||
fun <M> materialize(): M = TODO()
|
||||
|
||||
fun test(b: Boolean) {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(if (b) {
|
||||
id(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>if (b) {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>)
|
||||
} else {
|
||||
id(
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id<!>(
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>()
|
||||
)
|
||||
})
|
||||
}<!>)
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ fun poll17(flag: Boolean): Any? {
|
||||
}
|
||||
|
||||
fun poll26(flag: Boolean): Any? {
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::Foo7 }
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> }
|
||||
return inv
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -94,7 +94,7 @@ fun poll25(flag: Boolean) {
|
||||
}
|
||||
|
||||
fun poll26(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::Foo7 }
|
||||
val inv = when (flag) { true -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> false -> foo7() else -> ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> }
|
||||
inv
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ fun poll85() {
|
||||
}
|
||||
|
||||
fun poll86() {
|
||||
val inv = ::Foo7 in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
val inv = ::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!> in <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>setOf<!>(::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>Foo7<!>)
|
||||
inv
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user