Myst::Invocation
Inherits Struct / Value / Object
An Invocation is a binding of the interpreter, a function, and arguments for the function together to represent a Call.
In essence, an Invocation is the step between the Call node in the AST and the result of calling a function. Functor resolution happens before creating an Invocation, meaning they can be passed around without concern for lexical scoping or the like. However, the entire functor is carried with an Invocation; matching to a specific definition does not happen until the Invocation is invoked.
Constructors
new(itr : Interpreter, func : TFunctor, receiver : MTValue | Nil, args : Array(MTValue), block : TFunctor | Nil)
SourceInstance methods
args
Sourceargs=(args : Array(MTValue))
Sourceblock
Sourceblock=(block : TFunctor | Nil)
Sourceblock?
Sourcefunc
Sourcefunc=(func : TFunctor)
Sourceinvoke
Sourceitr
Sourceitr=(itr : Interpreter)
Sourcereceiver
Sourcereceiver=(receiver : MTValue | Nil)
Sourcereceiver?
Source