module Xdrgen::AST::Concerns::Contained

Protected Instance Methods

ancestors() click to toggle source
# File lib/xdrgen/ast/concerns/contained.rb, line 7
        def ancestors
  current = self.parent
  result = []

  while current.present?
    result.unshift(current)
    current = current.parent
  end
  
  result
end
find_ancestors(type) click to toggle source
# File lib/xdrgen/ast/concerns/contained.rb, line 27
def find_ancestors(type)
  ancestors.select{|a| a.is_a?(type)}
end
namespace() click to toggle source
# File lib/xdrgen/ast/concerns/contained.rb, line 23
def namespace
  find_ancestors(HasDefinitions).last
end
root() click to toggle source
# File lib/xdrgen/ast/concerns/contained.rb, line 19
def root
  ancestors.first
end