kotlin.jvm.internal
Class CallableReference

java.lang.Object
  extended by kotlin.jvm.internal.CallableReference
All Implemented Interfaces:
kotlin.reflect.KAnnotatedElement, kotlin.reflect.KCallable
Direct Known Subclasses:
PropertyReference

public abstract class CallableReference
extends Object
implements kotlin.reflect.KCallable

A superclass for all classes generated by Kotlin compiler for callable references. All methods from reflection API should be implemented here to throw informative exceptions (see KotlinReflectionNotSupportedError)


Field Summary
protected  kotlin.reflect.KCallable reflected
           
 
Constructor Summary
CallableReference()
           
 
Method Summary
 Object call(Object... args)
           
 Object callBy(Map args)
           
 kotlin.reflect.KCallable compute()
           
protected abstract  kotlin.reflect.KCallable computeReflected()
           
 List<Annotation> getAnnotations()
           
 String getName()
           
 kotlin.reflect.KDeclarationContainer getOwner()
           
 List<kotlin.reflect.KParameter> getParameters()
           
protected  kotlin.reflect.KCallable getReflected()
           
 kotlin.reflect.KType getReturnType()
           
 String getSignature()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

reflected

protected kotlin.reflect.KCallable reflected
Constructor Detail

CallableReference

public CallableReference()
Method Detail

computeReflected

protected abstract kotlin.reflect.KCallable computeReflected()

getOwner

public kotlin.reflect.KDeclarationContainer getOwner()
Returns:
the class or package where the callable should be located, usually specified on the LHS of the '::' operator

getName

public String getName()
Specified by:
getName in interface kotlin.reflect.KCallable
Returns:
Kotlin name of the callable, the one which was declared in the source code (@JvmName doesn't change it)

getSignature

public String getSignature()
Returns:
JVM signature of the callable, e.g. "println(Ljava/lang/Object;)V". If this is a property reference, returns the JVM signature of its getter, e.g. "getFoo(Ljava/lang/String;)I". If the property has no getter in the bytecode (e.g. private property in a class), it's still the signature of the imaginary default getter that would be generated otherwise. Note that technically the signature itself is not even used as a signature per se in reflection implementation, but only as a unique and unambiguous way to map a function/property descriptor to a string.

getParameters

public List<kotlin.reflect.KParameter> getParameters()
Specified by:
getParameters in interface kotlin.reflect.KCallable

getReturnType

public kotlin.reflect.KType getReturnType()
Specified by:
getReturnType in interface kotlin.reflect.KCallable

getAnnotations

public List<Annotation> getAnnotations()
Specified by:
getAnnotations in interface kotlin.reflect.KAnnotatedElement

call

public Object call(@NotNull
                   Object... args)
Specified by:
call in interface kotlin.reflect.KCallable

callBy

public Object callBy(@NotNull
                     Map args)
Specified by:
callBy in interface kotlin.reflect.KCallable

compute

public kotlin.reflect.KCallable compute()

getReflected

protected kotlin.reflect.KCallable getReflected()


Copyright © 2016. All Rights Reserved.