class documentation

Generic AST node visitor. This class does not work like ast.NodeVisitor, it only visits statements directly within a body. Also, visitor methods can't return anything.

:See: visitor for more informations.

Class Method get_children Returns the nested nodes in the body of a node.
Method generic_visit Helper method to visit a node by calling visit() on each child of the node. This is useful because this vistitor only visits statements inside .body attribute.

Inherited from PartialVisitor:

Method unknown_departure Called before exiting unknown object types.
Method unknown_visit Called when entering unknown object types.

Inherited from Visitor (via PartialVisitor):

Exception IgnoreNode Comletely stop visiting the current node, extensions will not be run on that node.
Exception SkipChildren Do not visit any children of the current node. The current node's siblings and depart_... method are not affected.
Exception SkipNode Do not visit the current node's children, and do not call the current node's depart_... method. The extensions will still be called.
Method __init__ Undocumented
Method depart Extend the base depart with extensions.
Method visit Extend the base visit with extensions.
Method walkabout Perform a tree traversal, calling visit() method when entering a node and the depart() method before exiting each node.
Instance Variable extensions Undocumented
Exception _TreePruningException Base class for Visitor-related tree pruning exceptions.
Instance Variable _skipped_nodes Undocumented
@classmethod
def get_children(cls, node: ast.AST) -> Iterable[ast.AST]: (source)

Returns the nested nodes in the body of a node.

def generic_visit(self, node: ast.AST): (source)

Helper method to visit a node by calling visit() on each child of the node. This is useful because this vistitor only visits statements inside .body attribute.

So if one wants to visit ast.Expr children with their visitor, they should include:

    def visit_Expr(self, node:ast.Expr):
        self.generic_visit(node)