Class | Amrita::NodeArray |
In: |
lib/amrita/compiler.rb
lib/amrita/node.rb lib/amrita/format.rb lib/amrita/node_expand.rb |
Parent: | Object |
array | [R] |
# File lib/amrita/node.rb, line 585 def initialize(*elements) if elements.size() == 1 and elements[0].kind_of?(NodeArray) a = elements[0] @array = a.array.collect { |n| n.clone } else @array = elements.collect do |a| #raise "can't be a parent of me!" if a.id == self.id # no recusive check because it costs too much to_node(a) end end end
# File lib/amrita/node.rb, line 637 def <<(node) raise "can't be a parent of me!" if node == self @array << to_node(node) self end
# File lib/amrita/node.rb, line 597 def ==(x) return false unless x.kind_of?(NodeArray) case x when NodeArray, Array return false unless x.size() == @array.size() @array.each_with_index do |n, i| return false unless n == x[i] end true else false end end
# File lib/amrita/node_expand.rb, line 342 def apply_to_children(&block) ret =@array.collect do |n| yield(n) end Node::to_node(ret) end
# File lib/amrita/compiler.rb, line 105 def compile(compiler) children.each { |node| node.compile(compiler) } end