class RBS::AncestorGraph

AncestorGraph is a utility class that helps iterating through ancestors and descendants of a class/module

graph = AncestorGraph.new(env: env, ancestor_builder: ancestor_builder)

graph.each_parent(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
graph.each_ancestor(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))

graph.each_child(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
graph.each_descendant(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))

Note that the class works for class/module declarations. All of the alias classes/modules are ignored.