class Yadriggy::EvalAll
A simple visitor.
Public Instance Methods
array(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 30 def array(expr) expr.elements.each {|e| evaluate(e) } end
array_ref(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 78 def array_ref(expr) evaluate(expr.array) expr.indexes.each {|e| evaluate(e) } end
assign(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 54 def assign(expr) if expr.right.is_a?(Array) expr.right.each {|e| evaluate(e) } else evaluate(expr.right) end if expr.left.is_a?(Array) expr.left.each {|e| evaluate(e) } else evaluate(expr.left) end end
begin_end(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 116 def begin_end(expr) evaluate(expr.body) evaluate(expr.rescue) end
binary(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 49 def binary(expr) evaluate(expr.left) evaluate(expr.right) end
block(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 111 def block(expr) parameters(expr) evaluate(expr.body) end
break_out(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 103 def break_out(expr) expr.values.each {|e| evaluate(e) } end
call(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 71 def call(expr) evaluate(expr.receiver) expr.args.each {|e| evaluate(e) } evaluate(expr.block_arg) evaluate(expr.block) end
class_def(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 144 def class_def(expr) evaluate(expr.name) evaluate(expr.superclass) evaluate(expr.body) evaluate(expr.rescue) end
conditional(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 83 def conditional(expr) evaluate(expr.cond) evaluate(expr.then) expr.all_elsif.each do |e| evaluate(e[0]) # condition evaluate(e[1]) # elsif body end evaluate(expr.else) unless expr.else.nil? end
const_path_ref(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 40 def const_path_ref(expr) evaluate(expr.scope) evaluate(expr.name) end
define(expr)
click to toggle source
def
# File lib/yadriggy/eval_all.rb, line 123 def define(expr) evaluate(expr.singular) evaluate(expr.name) parameters(expr) evaluate(expr.body) evaluate(expr.rescue) end
exprs(expr)
click to toggle source
expressions, or progn in Lisp.
# File lib/yadriggy/eval_all.rb, line 22 def exprs(expr) expr.expressions.each {|e| evaluate(e) } end
for_loop(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 98 def for_loop(expr) evaluate(expr.set) evaluate(expr.body) end
hash(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 67 def hash(expr) expr.pairs.each {|p| p.each {|e| evaluate(e) }} end
loop(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 93 def loop(expr) evaluate(expr.cond) evaluate(expr.body) end
module_def(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 138 def module_def(expr) evaluate(expr.name) evaluate(expr.body) evaluate(expr.rescue) end
name(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 12 def name(expr) end
nil_value(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 10 def nil_value(expr) end
number(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 18 def number(expr) end
paren(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 26 def paren(expr) evaluate(expr.expression) end
program(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 157 def program(expr) evaluate(expr.elements) end
rescue_end(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 131 def rescue_end(expr) evaluate(expr.body) evaluate(expr.nested_rescue) evaluate(expr.else) evaluate(expr.ensure) end
return_values(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 107 def return_values(expr) expr.values.each {|e| evaluate(e) } end
singular_class_def(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 151 def singular_class_def(expr) evaluate(expr.name) evaluate(expr.body) evaluate(expr.rescue) end
string_interpolation(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 34 def string_interpolation(expr) expr.contents.each {|e| evaluate(e) } end
string_literal(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 38 def string_literal(expr) end
super_method(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 16 def super_method(expr) end
symbol(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 14 def symbol(expr) end
unary(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 45 def unary(expr) evaluate(expr.operand) end
Private Instance Methods
parameters(expr)
click to toggle source
# File lib/yadriggy/eval_all.rb, line 162 def parameters(expr) expr.params.each {|e| evaluate(e) } expr.optionals.each {|p| p.each {|e| evaluate(e) }} evaluate(expr.rest_of_params) expr.params_after_rest.each {|e| evaluate(e) } expr.keywords.each {|e| evaluate(e[0]); evaluate(e[1]) } evaluate(expr.rest_of_keywords) evaluate(expr.block_param) end