class documentation

class Ancestors(gast.NodeVisitor): (source)

View In Hierarchy

Build the ancestor tree, that associates a node to the list of node visited from the root node (the Module) to the current node.

Example usage with gast module >>> from beniget import Ancestors >>> code = 'def foo(x): return x + 1'

>>> import gast
>>> module = gast.parse(code)
>>> ancestors = Ancestors()
>>> ancestors.visit(module)
>>> binop = module.body[0].body[0].value
>>> for n in ancestors.parents(binop):
...    print(type(n))
<class 'gast.gast.Module'>
<class 'gast.gast.FunctionDef'>
<class 'gast.gast.Return'>
>>> import ast
>>> code = 'def foo(x): return x + 1'
>>> module = ast.parse(code)
>>> ancestors = Ancestors()
>>> ancestors.visit(module)
>>> binop = module.body[0].body[0].value
>>> for n in ancestors.parents(binop):
...    print(type(n).__name__)
Module
FunctionDef
Return
Method __init__ Undocumented
Method generic_visit Undocumented
Method parent Undocumented
Method parentFunction Undocumented
Method parentInstance Undocumented
Method parents Undocumented
Method parentStmt Undocumented
Instance Variable _current Undocumented
Instance Variable _parents Undocumented
def __init__(self): (source)

Undocumented

def generic_visit(self, node): (source)

Undocumented

def parent(self, node): (source)

Undocumented

def parentFunction(self, node): (source)

Undocumented

def parentInstance(self, node, cls): (source)

Undocumented

def parents(self, node): (source)

Undocumented

def parentStmt(self, node): (source)

Undocumented

_current = (source)

Undocumented

_parents = (source)

Undocumented