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