Class: Red::AssignmentNode::OperatorNode::BracketNode

Inherits:
Red::AssignmentNode::OperatorNode show all
Defined in:
lib/red/assignment_nodes.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from Red::AssignmentNode::OperatorNode

#compile_internals, #compile_node

Constructor Details

#initialize(receiver, bracket_contents, operation, expression) ⇒ BracketNode

Returns a new instance of BracketNode.



79
80
81
# File 'lib/red/assignment_nodes.rb', line 79

def initialize(receiver, bracket_contents, operation, expression)
  @receiver, @slot, @operation, @expression = [receiver, bracket_contents.last, operation, expression].build_nodes
end

Instance Method Details

#compile_receiver(receiver, slot) ⇒ Object



83
84
85
# File 'lib/red/assignment_nodes.rb', line 83

def compile_receiver(receiver, slot)
  return ([:symbol, :string].include?((@slot.data_type rescue :node)) ? "%s.%s" : "%s[%s]") % [receiver, slot]
end