Class CallableReference

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

public abstract class CallableReference extends Object implements kotlin.reflect.KCallable, Serializable
A superclass for all classes generated by Kotlin compiler for callable references. All methods from KCallable should be implemented here and should delegate to the actual implementation, loaded dynamically and stored in the reflected field.
See Also:
  • Field Details

    • receiver

      @SinceKotlin(version="1.1") protected final Object receiver
    • NO_RECEIVER

      @SinceKotlin(version="1.1") public static final Object NO_RECEIVER
  • Constructor Details

    • CallableReference

      public CallableReference()
    • CallableReference

      @SinceKotlin(version="1.1") protected CallableReference(Object receiver)
    • CallableReference

      @SinceKotlin(version="1.4") protected CallableReference(Object receiver, Class owner, String name, String signature, boolean isTopLevel)
  • Method Details

    • computeReflected

      protected abstract kotlin.reflect.KCallable computeReflected()
    • getBoundReceiver

      @SinceKotlin(version="1.1") public Object getBoundReceiver()
    • compute

      @SinceKotlin(version="1.1") public kotlin.reflect.KCallable compute()
    • getReflected

      @SinceKotlin(version="1.1") protected kotlin.reflect.KCallable getReflected()
    • 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
    • getTypeParameters

      @SinceKotlin(version="1.1") public List<kotlin.reflect.KTypeParameter> getTypeParameters()
      Specified by:
      getTypeParameters in interface kotlin.reflect.KCallable
    • call

      public Object call(Object... args)
      Specified by:
      call in interface kotlin.reflect.KCallable
    • callBy

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

      @SinceKotlin(version="1.1") public kotlin.reflect.KVisibility getVisibility()
      Specified by:
      getVisibility in interface kotlin.reflect.KCallable
    • isFinal

      @SinceKotlin(version="1.1") public boolean isFinal()
      Specified by:
      isFinal in interface kotlin.reflect.KCallable
    • isOpen

      @SinceKotlin(version="1.1") public boolean isOpen()
      Specified by:
      isOpen in interface kotlin.reflect.KCallable
    • isAbstract

      @SinceKotlin(version="1.1") public boolean isAbstract()
      Specified by:
      isAbstract in interface kotlin.reflect.KCallable
    • isSuspend

      @SinceKotlin(version="1.3") public boolean isSuspend()
      Specified by:
      isSuspend in interface kotlin.reflect.KCallable