class Yadriggy::Block
Attributes
body[R]
@return [ASTnode] the body.
rescue[R]
@return [Rescue|nil] the rescue clause.
Public Class Methods
new(sexp)
click to toggle source
# File lib/yadriggy/ast.rb, line 1378 def initialize(sexp) var = has_tag?(sexp[1], :block_var) if var.nil? params = nil else params = has_tag?(var[1], :params) end initialize_vars(params, sexp[2]) 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 1405 def accept(evaluator) evaluator.block(self) end
initialize_vars(params, body)
click to toggle source
# File lib/yadriggy/ast.rb, line 1388 def initialize_vars(params, body) initialize_params(params) if body.is_a?(Array) && body.length > 0 && body[0] == :bodystmt bodystmnt = body[1] @rescue = Rescue.make(body[2], body[3], body[4]) else # if Ruby 2.5 or earlier bodystmnt = body @rescue = nil end @body = Exprs.make(bodystmnt) add_child(@body) add_child(@rescue) end