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