class SyntaxTree::YARV::GetBlockParamProxy
~~~
end
block.call
def foo(&block)
~~~ruby
### Usage
local.
block local. This is used when a method is being called on the block
pushes a proxy object onto the stack instead of the actual value of the
`getblockparamproxy` is almost the same as ‘getblockparam` except that it
### Summary
def ==(other)
def ==(other) other.is_a?(GetBlockParamProxy) && other.index == index && other.level == level end
def call(vm)
def call(vm) vm.push(vm.local_get(index, level)) end
def deconstruct_keys(_keys)
def deconstruct_keys(_keys) { index: index, level: level } end
def disasm(fmt)
def disasm(fmt) fmt.instruction( "getblockparamproxy", [fmt.local(index, explicit: level)] ) end
def initialize(index, level)
def initialize(index, level) @index = index @level = level end
def length
def length 3 end
def pushes
def pushes 1 end
def to_a(iseq)
def to_a(iseq) current = iseq level.times { current = iseq.parent_iseq } [:getblockparamproxy, current.local_table.offset(index), level] end