Module: FastRuby::LogicalOperatorTranslator

Defined in:
lib/fastruby/translator/modules/logical.rb

Instance Method Summary collapse

Instance Method Details

#to_c_and(tree) ⇒ Object



25
26
27
# File 'lib/fastruby/translator/modules/logical.rb', line 25

def to_c_and(tree)
  "(RTEST(#{to_c tree[1]}) && RTEST(#{to_c tree[2]})) ? Qtrue : Qfalse"
end

#to_c_not(tree) ⇒ Object



33
34
35
# File 'lib/fastruby/translator/modules/logical.rb', line 33

def to_c_not(tree)
  "RTEST(#{to_c tree[1]}) ? Qfalse : Qtrue"
end

#to_c_or(tree) ⇒ Object



29
30
31
# File 'lib/fastruby/translator/modules/logical.rb', line 29

def to_c_or(tree)
  "(RTEST(#{to_c tree[1]}) || RTEST(#{to_c tree[2]})) ? Qtrue : Qfalse"
end