Add diagnostics to test data from NI

This commit is contained in:
Mikhail Zarechenskiy
2017-11-22 08:50:30 +03:00
parent a71238bf94
commit 8757298994
480 changed files with 1136 additions and 1120 deletions
@@ -5,7 +5,7 @@ fun foo(i: Int) = i
fun foo(s: String) = s
fun test() {
<!NONE_APPLICABLE!>foo<!>(<!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>emptyList<!>())
<!NONE_APPLICABLE!>foo<!>(<!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>emptyList<!>())
}
fun <T> emptyList(): List<T> {throw Exception()}
@@ -20,20 +20,20 @@ class E {
// `bar` calls are inapplicable since both E nor D aren't proper receivers
// But prior to this change, every lambda was analyzed repeatedly for every candidate
// Thus, the resulting time was exponential
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
<!NI;NONE_APPLICABLE, OI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!> {
}
}
@@ -11,7 +11,7 @@ public class ResolutionTaskHolder<F, G : F> {
tasks.add(ResolutionTask<F, G>(candidate))
//todo the problem is the type of ResolutionTask is inferred as ResolutionTask<F, F> too early
tasks.<!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS!>bar<!>(ResolutionTask(candidate))
tasks.<!OI;TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS!>bar<!>(ResolutionTask(candidate))
tasks.add(ResolutionTask(candidate))
}
}