Callable references now can have receivers and arguments

(for bound references implementation).
This commit is contained in:
Dmitry Petrov
2016-09-02 17:31:43 +03:00
committed by Dmitry Petrov
parent fe397eddbe
commit a3dadd9e3f
16 changed files with 45 additions and 68 deletions
@@ -12,23 +12,23 @@ FILE /reflectionLiterals.kt
CONST Int type=kotlin.Int value='42'
PROPERTY public val test1: kotlin.reflect.KClass<A>
EXPRESSION_BODY
CLASS_REFERENCE public final class A type=kotlin.reflect.KClass<A>
CLASS_REFERENCE A type=kotlin.reflect.KClass<A>
PROPERTY public val test2: kotlin.reflect.KClass<kotlin.Int>
EXPRESSION_BODY
GET_CLASS type=kotlin.reflect.KClass<kotlin.Int>
CALL .<get-qux> type=kotlin.Int operator=GET_PROPERTY
PROPERTY public val test3: kotlin.reflect.KFunction1<A, kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE public final fun foo(): kotlin.Unit type=kotlin.reflect.KFunction1<A, kotlin.Unit>
CALLABLE_REFERENCE foo type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null
PROPERTY public val test4: kotlin.reflect.KFunction0<A>
EXPRESSION_BODY
CALLABLE_REFERENCE public constructor A() type=kotlin.reflect.KFunction0<A>
CALLABLE_REFERENCE <init> type=kotlin.reflect.KFunction0<A> operator=null
PROPERTY public val test5: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE public final fun foo(): kotlin.Unit type=kotlin.reflect.KFunction0<kotlin.Unit>
CALLABLE_REFERENCE foo type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test6: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE public fun bar(): kotlin.Unit type=kotlin.reflect.KFunction0<kotlin.Unit>
CALLABLE_REFERENCE bar type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test7: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY
CALLABLE_REFERENCE public val qux: kotlin.Int = 42 type=kotlin.reflect.KProperty0<kotlin.Int>
CALLABLE_REFERENCE qux type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
@@ -7,7 +7,7 @@ FILE /variableAsFunctionCall.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous>
$RECEIVER of: k type=kotlin.String
CALLABLE_REFERENCE local final fun <anonymous>(): kotlin.String type=() -> kotlin.String
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.String operator=LAMBDA
FUN public fun test1(/*0*/ f: () -> kotlin.Unit): kotlin.Unit
BLOCK_BODY
RETURN type=kotlin.Nothing from=test1