Class: Riml::UnaryOperatorNode

Inherits:
OperatorNode show all
Defined in:
lib/riml/nodes.rb

Constant Summary

Constants included from Visitable

Visitable::EMPTY_CHILDREN

Instance Attribute Summary

Attributes inherited from OperatorNode

#operands, #operator

Attributes included from Visitable

#compiled_output, #force_newline, #parent_node, #parser_info, #scope

Instance Method Summary collapse

Methods inherited from OperatorNode

#children, #force_newline_if_child_call_node?

Methods included from Visitable

#accept, #children, #force_newline_if_child_call_node?, #location_info

Methods included from Walkable

#child_after, #child_previous_to, #each, #index_by_children, #index_by_member, #insert_after, #insert_before, #next, #previous, #remove, #replace_with

Constructor Details

#initialize(operator, operands) ⇒ UnaryOperatorNode

Returns a new instance of UnaryOperatorNode.



457
458
459
460
461
462
463
# File 'lib/riml/nodes.rb', line 457

def initialize(operator, operands)
  len = operands.length
  unless len == 1
    raise ArgumentError, "unary operator must have 1 operand, has #{len}"
  end
  super
end

Instance Method Details

#operandObject



464
465
466
# File 'lib/riml/nodes.rb', line 464

def operand
  operands.first
end