class SyntaxTree::YARV::InvokeBlock
~~~
end
yield
def foo
~~~ruby
### Usage
block onto the stack.
arguments for the block off the stack and pushes the result of running the
`invokeblock` invokes the block given to the current method. It pops the
### Summary
def ==(other)
def ==(other) other.is_a?(InvokeBlock) && other.calldata == calldata end
def call(vm)
def call(vm) vm.push(vm.frame_yield.block.call(*vm.pop(calldata.argc))) end
def deconstruct_keys(_keys)
def deconstruct_keys(_keys) { calldata: calldata } end
def disasm(fmt)
def disasm(fmt) fmt.instruction("invokeblock", [fmt.calldata(calldata)]) end
def initialize(calldata)
def initialize(calldata) @calldata = calldata end
def length
def length 2 end
def pops
def pops calldata.argc end
def pushes
def pushes 1 end
def to_a(_iseq)
def to_a(_iseq) [:invokeblock, calldata.to_h] end