KT-7597 ErrorType leaked into backend

#KT-7597 Fixed
This commit is contained in:
Svetlana Isakova
2015-04-28 13:38:58 +03:00
parent f4dd685bbe
commit 02301a0d70
7 changed files with 81 additions and 11 deletions
@@ -0,0 +1,10 @@
// !CHECK_TYPE
trait Inv<I>
fun <S, T: S> Inv<T>.reduce2(): S = null!!
fun test(a: Inv<Int>): Int {
val b = 1 <!OVERLOAD_RESOLUTION_AMBIGUITY!>+<!> a.reduce2()
return <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>b<!>
}
@@ -0,0 +1,10 @@
package
internal fun test(/*0*/ a: Inv<kotlin.Int>): kotlin.Int
internal fun </*0*/ S, /*1*/ T : S> Inv<T>.reduce2(): S
internal trait Inv</*0*/ I> {
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,12 @@
class ResolutionCandidate<A>
class ResolutionTask<B, C : B>(val candidate: ResolutionCandidate<B>)
fun <D, E : D> List<ResolutionTask<D, E>>.bar(t: ResolutionTask<D, E>) = t
public class ResolutionTaskHolder<F, G : F> {
fun test(candidate: ResolutionCandidate<F>, tasks: MutableList<ResolutionTask<F, G>>) {
tasks.bar(ResolutionTask(candidate))
}
}
@@ -0,0 +1,26 @@
package
internal fun </*0*/ D, /*1*/ E : D> kotlin.List<ResolutionTask<D, E>>.bar(/*0*/ t: ResolutionTask<D, E>): ResolutionTask<D, E>
internal final class ResolutionCandidate</*0*/ A> {
public constructor ResolutionCandidate</*0*/ A>()
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
}
internal final class ResolutionTask</*0*/ B, /*1*/ C : B> {
public constructor ResolutionTask</*0*/ B, /*1*/ C : B>(/*0*/ candidate: ResolutionCandidate<B>)
internal final val candidate: ResolutionCandidate<B>
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
}
public final class ResolutionTaskHolder</*0*/ F, /*1*/ G : F> {
public constructor ResolutionTaskHolder</*0*/ F, /*1*/ G : F>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
internal final fun test(/*0*/ candidate: ResolutionCandidate<F>, /*1*/ tasks: kotlin.MutableList<ResolutionTask<F, G>>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}