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