class Yadriggy::Break

break, next, redo, or retry.

Attributes

op[R]

@return [Symbol] `:break`, `:next`, `:redo`, or `:retry`.

values[R]

@return [Array<ASTnode>] an array of the break/next arguments.

Public Class Methods

new(sexp) click to toggle source
# File lib/yadriggy/ast.rb, line 1218
def initialize(sexp)
  @op = sexp[0]
  if @op == :break || @op == :next
    if sexp[1].size == 0
      @values = []
    else
      values = has_tag?(sexp[1], :args_add_block)[1]
      @values = to_nodes(values)
    end
    add_children(@values)
  else
    @values = []
  end
end
tags() click to toggle source
# File lib/yadriggy/ast.rb, line 1216
def self.tags() [:break, :next, :redo, :retry] end

Public Instance Methods

accept(evaluator) click to toggle source

A method for Visitor pattern. @param [Eval] evaluator the visitor of Visitor pattern. @return [void]

# File lib/yadriggy/ast.rb, line 1236
def accept(evaluator)
  evaluator.break_out(self)
end