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
|