class TPPlus::Nodes::UnaryExpressionNode
Attributes
op[R]
x[R]
Public Class Methods
new(op, x)
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 5 def initialize(op, x) @op = OperatorNode.new(op) @x = x end
Public Instance Methods
boolean_result?()
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 22 def boolean_result? false end
contains_expression?()
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 18 def contains_expression? true end
eval(context,options={})
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 26 def eval(context,options={}) if options[:opposite] new_options = options.dup new_options.delete(:opposite) # VarNode.eval() with opposite will add a ! @x.eval(context, new_options) elsif options[:disable_mixed_logic] options[:disable_mixed_logic] = false "#{@x.eval(context, options)}=OFF" else "#{@op.eval(context, options)}#{@x.eval(context, options)}" end end
grouped?()
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 10 def grouped? false end
requires_mixed_logic?(context)
click to toggle source
# File lib/tp_plus/nodes/unary_expression_node.rb, line 14 def requires_mixed_logic?(context) true end