package documentation

This module provides some of the core utilities of the Scalpel framework. This includes Visitor functions for classes, function definitions and calls, as well as other visitor utilities. This module also provides an interface for MNode class. A MNode class is a representation of a Module as a node in a control flow graph (CFG). It extracts information about the node, such as its id, its statements, function definitions, imports and its exits from the source code. The MNode class is used by the CFGBuilder class to build CFGs from Python ASTs.

Package base Undocumented
Module class_visitor This module extends Generic Node Visitor to visit all the Class defined within the m´node and also function definitions of the class.
Module fun_def_visitor This module extends Generic Node Visitor to visit different Function Definitions within the Node.
Module func_call_visitor The module implements the Visitor class for different Function Calls within the Node. This also provides interfaces for Function Call Transformations.
Module kw_visitor The module implements the Visitor class for different keywords within the Node.
Module mnode In this module, Scalpel provides the interface to users. Each of Python source files are fed into this module to generate a frontend object for both parsing and code instrumentation. In addition, scope information can also be given for fine-grained operations.
Module source_visitor This module implements a Visitor Object that collects information about the keywords used in functions and the classes that classes inherit from.
Module util This module provides implementation of various Utilities functions and classes for finding local modules nad iterating over different objects(i.e., statements, child nodes and fields) within the provided node.
Module vars_visitor This module provides a visitor class that can be used to visit all variables in a Python AST.
Module visitors Node visitors used for type Inference and other utilities. The abstract class is extracted from mypy project at [here](https://github.com/python/mypy/blob/master/mypy/visitor.py). This module is not intended for creating APIs.
Module _scope_graph Undocumented