[NI] Improvements for "not enough information" diagnostic

#KT-30590 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2019-04-23 00:45:29 +03:00
parent 09cc2ae27f
commit ff0993153c
13 changed files with 142 additions and 29 deletions
@@ -2,8 +2,12 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
fun <K> id2(x: K, s: String): K = x
fun <K> ret(s: String): K = TODO()
fun test() {
<!NI;IMPLICIT_NOTHING_AS_TYPE_PARAMETER, NI;NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id2<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>, "foo")
<!NI;UNREACHABLE_CODE!><!NI;IMPLICIT_NOTHING_AS_TYPE_PARAMETER, NI;NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>id2<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>42<!>)<!>
id2(<!UNRESOLVED_REFERENCE!>unresolved<!>, "foo")
id2(<!UNRESOLVED_REFERENCE!>unresolved<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>42<!>)
<!NI;NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>ret<!>("foo")
<!OI;TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR!>ret<!>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>42<!>)
}
@@ -1,4 +1,5 @@
package
public fun </*0*/ K> id2(/*0*/ x: K, /*1*/ s: kotlin.String): K
public fun </*0*/ K> ret(/*0*/ s: kotlin.String): K
public fun test(): kotlin.Unit