Do not enter in recursion for implicit invoke on variable with un inferred type

This commit is contained in:
Stanislav Erokhin
2015-12-08 15:11:50 +03:00
parent 1dca49cecc
commit 66a031f7a0
6 changed files with 63 additions and 3 deletions
@@ -0,0 +1,16 @@
fun test() = 3
fun <T> proxy(t: T) = t
class A {
val test = test()
}
class B {
val test = proxy(test())
}
class C {
val bar = <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!><!UNINITIALIZED_VARIABLE!>test<!>()<!>
val test = <!FUNCTION_EXPECTED!>bar<!>()
}
@@ -0,0 +1,29 @@
package
public fun </*0*/ T> proxy(/*0*/ t: T): T
public fun test(): kotlin.Int
public final class A {
public constructor A()
public final val test: kotlin.Int
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 B {
public constructor B()
public final val test: kotlin.Int
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 C {
public constructor C()
public final val bar: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public final val test: [ERROR : Type for bar()]
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
}