L1_doCall

Invoke a method.

The first operand is an index into the current code's literals, which specifies an A_Bundle which names a method that contains a collection of method definitions that might be invoked. The arguments are expected to already have been pushed. They are popped from the stack and the literal specified by the second operand is pushed. This is the expected type of the send. When the invoked method eventually returns, the proposed return value is checked against the pushed type, and if it agrees then this stack entry is replaced by the returned value. If it disagrees, some sort of runtime exception should take place instead.

Properties

Link copied to clipboard
Link copied to clipboard

This operation's collection of operand types.

Link copied to clipboard

Functions

Link copied to clipboard
open override fun dispatch(operationDispatcher: L1OperationDispatcher)

Dispatch this operation through an L1OperationDispatcher.

Link copied to clipboard
Link copied to clipboard

Write this operation to a NybbleOutputStream. Do not output operands.