Class: Red::AssignmentNode::ClassVariableNode

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

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from Red::AssignmentNode

#call_to_increment?, #compile_increment, #compile_internals, #initialize

Constructor Details

This class inherits a constructor from Red::AssignmentNode

Instance Method Details

#compile_node(options = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/red/assignment_nodes.rb', line 21

def compile_node(options = {})
  expression = @expression.compile_node(:as_argument => true)
  if options[:as_prototype]
    receiver = @variable_name.compile_node
    "%s: %s"
  else
    receiver = "%s.%s" % [@@red_class, @variable_name.compile_node]
    return self.compile_increment(:receiver => receiver) if self.call_to_increment?
    "%s = %s"
  end % [receiver, expression]
end