FunctionCall

data class FunctionCall<T : OutputValue<*>>(val function: Function<T>, val arguments: List<FunctionCallArgument>, val context: Context? = null, val sourceNode: FunctionCallNode? = null, var onComplete: (T) -> Unit = { }) : Expression

A call to a declared Function. This is an Expression as its output can be used as an input for another function call.

Parameters

function

referenced function to call

arguments

arguments of the call

context

optional context this call lies in. This value can be injected to library functions that demand it via the @Injected annotation

sourceNode

FunctionCallNode that generated this call, if there is any. Like context, this value can be injected. It is null if the call is standalone and was not generated by a node.

onComplete

function to be called when the function is executed, with the output of the call as an argument

T

expected output type of the function

Constructors

Link copied to clipboard
constructor(function: Function<T>, arguments: List<FunctionCallArgument>, context: Context? = null, sourceNode: FunctionCallNode? = null, onComplete: (T) -> Unit = { })

Properties

Link copied to clipboard
Link copied to clipboard
val context: Context? = null
Link copied to clipboard
Link copied to clipboard
var onComplete: (T) -> Unit
Link copied to clipboard

Functions

Link copied to clipboard
open override fun <T> accept(visitor: ExpressionVisitor<T>): T

Accepts a visitor.

Link copied to clipboard

Chains two expressions together, which is used in ComposedExpressions.

Link copied to clipboard
Link copied to clipboard
fun execute(): T

Checks the call validity and calls the function.