class SyntaxTree::YARV::SetBlockParam


~~~
end
bar = baz
def foo(&bar)
~~~ruby
### Usage
the value it is setting off the stack.
frames back to look and the index is the index in the local table. It pops
determined by the level and index arguments. The level is the number of
`setblockparam` sets the value of a block local variable on a frame
### Summary

def ==(other)

def ==(other)
  other.is_a?(SetBlockParam) && other.index == index &&
    other.level == level
end

def call(vm)

def call(vm)
  vm.local_set(index, level, vm.pop)
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  { index: index, level: level }
end

def disasm(fmt)

def disasm(fmt)
  fmt.instruction("setblockparam", [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 pops

def pops
  1
end

def to_a(iseq)

def to_a(iseq)
  current = iseq
  level.times { current = current.parent_iseq }
  [:setblockparam, current.local_table.offset(index), level]
end