class Ikra::AST::Visitor
Public Instance Methods
visit_array_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 227 def visit_array_node(node) visit_node(node) for value in node.values value.accept(self) end end
visit_begin_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 360 def visit_begin_node(node) visit_node(node) node.body_stmts.each do |stmt| stmt.accept(self) end end
visit_block_def_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 257 def visit_block_def_node(node) visit_node(node) node.body.accept(self) end
visit_bool_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 288 def visit_bool_node(node) visit_node(node) end
visit_break_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 340 def visit_break_node(node) visit_node(node) end
visit_class_def_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 210 def visit_class_def_node(node) visit_node(node) node.instance_variables.each do |iv| iv.accept(self) end node.instance_methods.each do |im| im.accept(self) end end
visit_const_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 262 def visit_const_node(node) visit_node(node) end
visit_float_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 283 def visit_float_node(node) visit_node(node) end
visit_for_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 304 def visit_for_node(node) visit_node(node) node.range_from.accept(self) node.range_to.accept(self) node.body_stmts.accept(self) end
visit_hash_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 239 def visit_hash_node(node) visit_node(node) node.hash.each do |key, value| key.accept(self) value.accept(self) end end
visit_if_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 344 def visit_if_node(node) visit_node(node) node.condition.accept(self) node.true_body_stmts.accept(self) node.false_body_stmts.accept(self) end
visit_int_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 279 def visit_int_node(node) visit_node(node) end
visit_ivar_read_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 275 def visit_ivar_read_node(node) visit_node(node) end
visit_lvar_read_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 266 def visit_lvar_read_node(node) visit_node(node) end
visit_lvar_write_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 270 def visit_lvar_write_node(node) visit_node(node) node.value.accept(self) end
visit_meth_def_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 252 def visit_meth_def_node(node) visit_node(node) node.body.accept(self) end
visit_nil_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 292 def visit_nil_node(node) visit_node(node) end
visit_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 194 def visit_node(node) end
visit_program_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 198 def visit_program_node(node) visit_node(node) node.classes.each do |c| c.accept(self) end node.blocks.each do |b| b.accept(self) end end
visit_return_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 381 def visit_return_node(node) visit_node(node) node.value.accept(self) end
visit_root_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 222 def visit_root_node(node) visit_node(node) node.single_child.accept(self) end
visit_send_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 368 def visit_send_node(node) visit_node(node) # Receiver might be nil for self sends if node.receiver != nil node.receiver.accept(self) end node.arguments.each do |arg| arg.accept(self) end end
visit_source_code_expr_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 235 def visit_source_code_expr_node(node) visit_node(node) end
visit_string_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 300 def visit_string_node(node) visit_node(node) end
visit_symbol_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 296 def visit_symbol_node(node) visit_node(node) end
visit_ternary_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 352 def visit_ternary_node(node) visit_node(node) node.condition.accept(self) node.true_val.accept(self) node.false_val.accept(self) end
visit_until_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 326 def visit_until_node(node) visit_node(node) node.condition.accept(self) node.body_stmts.accept(self) end
visit_until_post_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 333 def visit_until_post_node(node) visit_node(node) node.condition.accept(self) node.body_stmts.accept(self) end
visit_var_def_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 248 def visit_var_def_node(node) visit_node(node) end
visit_while_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 312 def visit_while_node(node) visit_node(node) node.condition.accept(self) node.body_stmts.accept(self) end
visit_while_post_node(node)
click to toggle source
# File lib/ast/visitor.rb, line 319 def visit_while_post_node(node) visit_node(node) node.condition.accept(self) node.body_stmts.accept(self) end