class RedParse::ListInNode::BeginNode
Attributes
after_comma[RW]
after_equals[RW]
empty_else[R]
empty_ensure[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/redparse/node.rb, line 2140 def initialize(*args) @offset=args.first.offset @empty_ensure=@empty_else=@op_rescue=nil body,rescues,else_,ensure_=*args[1...-1] rescues.extend ListInNode if else_ else_=else_.val or @empty_else=true end if ensure_ ensure_=ensure_.val or @empty_ensure=true end replace [body,rescues,else_,ensure_] end
Public Instance Methods
begin_parsetree(o)
click to toggle source
# File lib/redparse/node.rb, line 2203 def begin_parsetree(o) #body,rescues,else_,ensure_=*self needbegin=(rescues&&!rescues.empty?) || ensure_ || @empty_ensure result=parsetree(o) needbegin and result=[:begin, result] unless result.first==:begin result end
image()
click to toggle source
# File lib/redparse/node.rb, line 2164 def image; '(begin)' end
lvalue()
click to toggle source
# File lib/redparse/node.rb, line 2211 def lvalue return nil end
non_empty()
click to toggle source
# File lib/redparse/node.rb, line 2168 def non_empty rescues.size > 0 or !!ensures or body end
op?()
click to toggle source
# File lib/redparse/node.rb, line 2154 def op?; false end
parsetree(o)
click to toggle source
# File lib/redparse/node.rb, line 2179 def parsetree(o) result=parsetree_and_rescues(o) =begin should be something like this: limit=o[:quirks] ? 1 : result.size (0...limit).each{|i| result[i,1]=result[i][1..-1] if Array===result[i] and result[i][0]==:block } =end if o[:ruby187] and result.first==:begin result=result[1] else result=[:begin,result] unless result==[:nil]#||result.first==:begin end return result end
rescue_parsetree(o)
click to toggle source
# File lib/redparse/node.rb, line 2197 def rescue_parsetree o result=parsetree o result.first==:begin and result=result.last unless o[:ruby187] result end
special_conditions!()
click to toggle source
# File lib/redparse/node.rb, line 2166 def special_conditions!; nil end
to_lisp()
click to toggle source
# File lib/redparse/node.rb, line 2174 def to_lisp huh #what about rescues, else, ensure? body.to_lisp end
unparse(o=default_unparse_options)
click to toggle source
attr_accessor :lvalue
# File lib/redparse/node.rb, line 2216 def unparse(o=default_unparse_options) result="begin " result+=unparse_and_rescues(o) result+=";end" end