24 lines
404 B
Ruby
24 lines
404 B
Ruby
|
AST::Node.class_eval do
|
||
|
|
||
|
def [](name)
|
||
|
#puts self.inspect
|
||
|
children.each do |child|
|
||
|
if child.is_a?(AST::Node)
|
||
|
#puts child.type
|
||
|
if (child.type == name)
|
||
|
return child.children
|
||
|
end
|
||
|
else
|
||
|
#puts child.class
|
||
|
end
|
||
|
end
|
||
|
nil
|
||
|
end
|
||
|
|
||
|
def first_from( node_name )
|
||
|
from = self[node_name]
|
||
|
return nil unless from
|
||
|
from.first
|
||
|
end
|
||
|
end
|