Improve diagnostics for fake calls when type inference failed

#KT-13665 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2017-08-31 14:55:07 +03:00
parent 17b4874c37
commit f5222600d8
8 changed files with 94 additions and 11 deletions
@@ -0,0 +1,9 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
class X
operator fun <T> X.component1(): T = TODO()
fun test() {
val (y) = <!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>X()<!>
}
@@ -0,0 +1,11 @@
package
public fun test(): kotlin.Unit
public operator fun </*0*/ T> X.component1(): T
public final class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,8 @@
class X
operator fun <T> X.iterator(): Iterable<T> = TODO()
fun test() {
for (i in <!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>X()<!>) {
}
}
@@ -0,0 +1,11 @@
package
public fun test(): kotlin.Unit
public operator fun </*0*/ T> X.iterator(): kotlin.collections.Iterable<T>
public final class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}