class RedParse::Node

Public Instance Methods

args_rip(list,p) click to toggle source
# File lib/redparse/ripper.rb, line 263
def args_rip list,p
  list.inject(p.on_args_new){|sum,param| 
    p.on_args_add(sum,param.rip(p)) 
  }
end
force_stmt_list_rip(expr,p) click to toggle source
# File lib/redparse/ripper.rb, line 256
def force_stmt_list_rip expr,p
  if SequenceNode===expr
    expr.rip(p)
  else
    stmts_rip [expr],p
  end
end
rip_and_rescues(p) click to toggle source
# File lib/redparse/ripper.rb, line 237
def rip_and_rescues p
    unless rescues.empty?
      r=rescues.map{|resc| resc.rip(p)}
      r.each_with_index{|x,i| x<<r[i+1] unless i+1==r.size }
      r=r.first
    end
    p.on_bodystmt(
      force_stmt_list_rip(body,p),
      r,
      else_&&else_.rip(p),
      ensure_&&p.on_ensure(force_stmt_list_rip(ensure_,p))
    )
end
rip_explode!(init,receiver=self,&block) click to toggle source
# File lib/redparse/ripper.rb, line 250
def rip_explode! init,receiver=self,&block
  receiver.inject(init,&block)
end
stmts_rip(list,p) click to toggle source
# File lib/redparse/ripper.rb, line 253
def stmts_rip list,p
  list.inject(p.on_stmts_new){|sum,expr| p.on_stmts_add(sum,expr.rip(p)) }
end