class Riml::ScopeNode

Attributes

argument_variable_names[W]
for_node_variable_names[W]
function[RW]
function?[RW]

Public Instance Methods

argument_variable_names() click to toggle source
# File lib/riml/nodes.rb, line 724
def argument_variable_names
  @argument_variable_names ||= Set.new
end
for_node_variable_names() click to toggle source
# File lib/riml/nodes.rb, line 720
def for_node_variable_names
  @for_node_variable_names ||= Set.new
end
merge(other) click to toggle source
# File lib/riml/nodes.rb, line 730
def merge(other)
  dup.merge! other
end
merge!(other) click to toggle source
# File lib/riml/nodes.rb, line 738
def merge!(other)
  unless other.is_a?(ScopeNode)
    raise ArgumentError, "other must be ScopeNode, is #{other.class}"
  end
  self.for_node_variable_names += other.for_node_variable_names
  self.argument_variable_names -= for_node_variable_names
  self.function = other.function
  self
end
merge_parent_function(other) click to toggle source
# File lib/riml/nodes.rb, line 734
def merge_parent_function(other)
  dup.merge_parent_function!(other)
end
merge_parent_function!(other) click to toggle source
# File lib/riml/nodes.rb, line 748
def merge_parent_function!(other)
  unless other.is_a?(ScopeNode)
    raise ArgumentError, "other must be ScopeNode, is #{other.class}"
  end
  self.for_node_variable_names += other.for_node_variable_names
  self.function = other.function
  self
end