class SyntaxTree::YARV::Leave

### Summary

‘leave` exits the current frame.

### Usage

~~~ruby ;; ~~~

Public Instance Methods

==(other) click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2276
def ==(other)
  other.is_a?(Leave)
end
call(vm) click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2290
def call(vm)
  vm.leave
end
deconstruct_keys(_keys) click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2272
def deconstruct_keys(_keys)
  {}
end
disasm(fmt) click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2264
def disasm(fmt)
  fmt.instruction("leave")
end
leaves?() click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2294
def leaves?
  true
end
pops() click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2280
def pops
  1
end
pushes() click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2284
def pushes
  # TODO: This is wrong. It should be 1. But it's 0 for now because
  # otherwise the stack size is incorrectly calculated.
  0
end
to_a(_iseq) click to toggle source
# File lib/syntax_tree/yarv/instructions.rb, line 2268
def to_a(_iseq)
  [:leave]
end