gh-pages / com.nextfaze.devfun.function / FunctionDefinition

FunctionDefinition

interface FunctionDefinition (source)

Functions/methods annotated with DeveloperFunction will be defined using this interface at compile time.

Definitions will be convert to items via FunctionTransformer.

See Also

FunctionItem

Properties

Name Summary
category open val category: CategoryDefinition?
The category for this definition as taken from DeveloperFunction.category.
clazz open val clazz: KClass<out Any>
The class where this item was defined.
invoke abstract val invoke: FunctionInvoke
Called when this item is to be invoked.
method abstract val method: Method
The method of this function was defined.
name open val name: CharSequence
The name of this item as taken from DeveloperFunction.value.
requiresApi open val requiresApi: Int
Required API to allow this item to be shown as taken from DeveloperFunction.requiresApi.
transformer open val transformer: KClass<out FunctionTransformer>
Function transformer for this instance as taken from DeveloperFunction.transformer.

Extension Properties

Name Summary
receiverClass val FunctionDefinition.receiverClass: KClass<*>
Get the receiver class for this function definition.
receiverClassForInvocation val FunctionDefinition.receiverClassForInvocation: KClass<*>?
Get the receiver class for this function definition if you intend to invoke it. That is, it will return null if the type isn’t needed.

Extension Functions

Name Summary
parameterInstances fun FunctionDefinition.parameterInstances(instanceProvider: InstanceProvider = devFun.instanceProviders, args: FunctionArgs): List<Any?>
Get the parameter instances for this function definition for invocation.
receiverInstance fun FunctionDefinition.receiverInstance(instanceProvider: InstanceProvider = devFun.instanceProviders): Any?
Get the receiver instance for this function definition to be used for invocation.

Inheritors

Name Summary
ExceptionFunctionDefinition object ExceptionFunctionDefinition : FunctionDefinition