class RedParse::ListInNode::IfOpNode
Public Class Methods
new(left,op,right=nil)
click to toggle source
# File lib/redparse/node.rb, line 3033 def initialize(left,op,right=nil) op,right=nil,op unless right op=op.ident if op.respond_to? :ident @reverse=false @loop=false replace [left,right] condition.special_conditions! if condition.respond_to? :special_conditions! end
Public Instance Methods
condition()
click to toggle source
# File lib/redparse/node.rb, line 3031 def condition; right end
consequent()
click to toggle source
# File lib/redparse/node.rb, line 3032 def consequent; left end
else()
click to toggle source
# File lib/redparse/node.rb, line 3044 def else; nil end
elsifs()
click to toggle source
# File lib/redparse/node.rb, line 3045 def elsifs; [] end
if()
click to toggle source
# File lib/redparse/node.rb, line 3042 def if; condition end
op()
click to toggle source
# File lib/redparse/node.rb, line 3046 def op; "if" end
parsetree(o)
click to toggle source
# File lib/redparse/node.rb, line 3048 def parsetree(o) cond=condition.rescue_parsetree(o) actions=[consequent.parsetree(o), nil] if cond.first==:not actions.reverse! cond=cond.last end [:if, cond, *actions] end
then()
click to toggle source
# File lib/redparse/node.rb, line 3043 def then; consequent end