module documentation

Points-to / dataflow / cfg graph engine. It can be used to run reaching-definition queries on a nested CFG graph and to model path-specific visibility of nested data structures.

Class Binding A Binding assigns a binding to a (specific) variable.
Class CFGNode A node in the CFG.
Class Metrics Undocumented
Class Origin An "origin" is an explanation of how a binding was constructed.
Class Program Program instances describe program entities.
Class Solver The solver class is instantiated for a given "problem" instance.
Class SourceSet A SourceSet is a combination of Bindings that was used to form a Binding.
Class State A state needs to "solve" a list of goals to succeed.
Class Variable A collection of possible bindings for a variable, along with their origins.
Constant MAX_VAR_SIZE Undocumented
Variable log Undocumented
Class _PathFinder Finds a path between two nodes and collects nodes with conditions.
Function _GoalsConflict Are the given bindings conflicting?
Variable _variable_size_metric Undocumented
MAX_VAR_SIZE: int = (source)

Undocumented

Value
64

Undocumented

def _GoalsConflict(goals): (source)

Are the given bindings conflicting? Args: goals: A list of goals. Returns: True if we would need a variable to be assigned to two distinct bindings at the same time in order to solve this combination of goals. False if there are no conflicting goals. Raises: AssertionError: For internal errors.

_variable_size_metric = (source)

Undocumented