visitor ¤
Code parsing and data extraction utilies.
This module exposes a public function, visit()
, which parses the module code using parse()
, and returns a new Module
instance, populating its members recursively, by using a NodeVisitor
-like class.
Classes:
-
Visitor
–This class is used to instantiate a visitor.
Functions:
-
visit
–Parse and visit a module file.
Visitor ¤
Visitor(
module_name: str,
filepath: Path,
code: str,
extensions: Extensions,
parent: Module | None = None,
docstring_parser: Parser | None = None,
docstring_options: dict[str, Any] | None = None,
lines_collection: LinesCollection | None = None,
modules_collection: ModulesCollection | None = None,
)
This class is used to instantiate a visitor.
Visitors iterate on AST nodes to extract data from them.
Parameters:
-
module_name
(str
) –The module name.
-
filepath
(Path
) –The module filepath.
-
code
(str
) –The module source code.
-
extensions
(Extensions
) –The extensions to use when visiting.
-
parent
(Module | None
, default:None
) –An optional parent for the final module object.
-
docstring_parser
(Parser | None
, default:None
) –The docstring parser to use.
-
docstring_options
(dict[str, Any] | None
, default:None
) –The docstring parsing options.
-
lines_collection
(LinesCollection | None
, default:None
) –A collection of source code lines.
-
modules_collection
(ModulesCollection | None
, default:None
) –A collection of modules.
Methods:
-
decorators_to_labels
–Build and return a set of labels based on decorators.
-
generic_visit
–Extend the base generic visit with extensions.
-
get_base_property
–Check decorators to return the base property in case of setters and deleters.
-
get_module
–Build and return the object representing the module attached to this visitor.
-
handle_attribute
–Handle an attribute (assignment) node.
-
handle_function
–Handle a function definition node.
-
visit
–Extend the base visit with extensions.
-
visit_annassign
–Visit an annotated assignment node.
-
visit_assign
–Visit an assignment node.
-
visit_asyncfunctiondef
–Visit an async function definition node.
-
visit_augassign
–Visit an augmented assignment node.
-
visit_classdef
–Visit a class definition node.
-
visit_functiondef
–Visit a function definition node.
-
visit_if
–Visit an "if" node.
-
visit_import
–Visit an import node.
-
visit_importfrom
–Visit an "import from" node.
-
visit_module
–Visit a module node.
decorators_to_labels ¤
get_base_property ¤
Check decorators to return the base property in case of setters and deleters.
Parameters:
Returns:
get_module ¤
get_module() -> Module
Build and return the object representing the module attached to this visitor.
This method triggers a complete visit of the module nodes.
Returns:
-
Module
–A module instance.
handle_attribute ¤
handle_function ¤
handle_function(
node: AsyncFunctionDef | FunctionDef,
labels: set | None = None,
) -> None
Handle a function definition node.
Parameters:
-
node
(AsyncFunctionDef | FunctionDef
) –The node to visit.
-
labels
(set | None
, default:None
) –Labels to add to the data object.
visit_asyncfunctiondef ¤
visit_asyncfunctiondef(node: AsyncFunctionDef) -> None
visit_functiondef ¤
visit_functiondef(node: FunctionDef) -> None
visit_importfrom ¤
visit_importfrom(node: ImportFrom) -> None
visit ¤
visit(
module_name: str,
filepath: Path,
code: str,
*,
extensions: Extensions | None = None,
parent: Module | None = None,
docstring_parser: Parser | None = None,
docstring_options: dict[str, Any] | None = None,
lines_collection: LinesCollection | None = None,
modules_collection: ModulesCollection | None = None
) -> Module
Parse and visit a module file.
Parameters:
-
module_name
(str
) –The module name (as when importing [from] it).
-
filepath
(Path
) –The module file path.
-
code
(str
) –The module contents.
-
extensions
(Extensions | None
, default:None
) –The extensions to use when visiting the AST.
-
parent
(Module | None
, default:None
) –The optional parent of this module.
-
docstring_parser
(Parser | None
, default:None
) –The docstring parser to use. By default, no parsing is done.
-
docstring_options
(dict[str, Any] | None
, default:None
) –Additional docstring parsing options.
-
lines_collection
(LinesCollection | None
, default:None
) –A collection of source code lines.
-
modules_collection
(ModulesCollection | None
, default:None
) –A collection of modules.
Returns:
-
Module
–The module, with its members populated.