class Dentaku::AST::Negation
def self.arity
def self.arity 1 end
def self.precedence
def self.precedence 40 end
def self.right_associative?
def self.right_associative? true end
def dependencies(context = {})
def dependencies(context = {}) @node.dependencies(context) end
def initialize(node)
def initialize(node) @node = node unless valid_node?(node) raise NodeError.new(:numeric, node.type, :node), "#{self.class} requires numeric operands" end end
def operator
def operator :* end
def type
def type :numeric end
def valid_node?(node)
def valid_node?(node) node && (node.dependencies.any? || node.type == :numeric) end
def value(context = {})
def value(context = {}) cast(@node.value(context)) * -1 end