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