Module Essa
Library for SSA representation (Static Single Assignment form).
Import path
import semmle.python.essa.Essa
Imports
Classes
ArgumentRefinement | A use of a variable as an argument, |
AssignmentDefinition | An assignment to a variable |
AttributeAssignment | An assignment of an attribute |
CallsiteRefinement | An implicit (possible) definition of an escaping variable at a call-site |
DeletionDefinition | A deletion of a variable |
EssaAttributeDeletion | A deletion of an attribute |
EssaDefinition | A definition of an extended-SSA (ESSA) variable. There is exactly one definition for each variable, and exactly one variable for each definition. |
EssaEdgeRefinement | An ESSA definition corresponding to an edge refinement of the underlying variable. For example, the edges leaving a test on a variable both represent refinements of that variable. On one edge the test is true, on the other it is false. |
EssaNodeDefinition | A definition of an ESSA variable that is not directly linked to another ESSA variable. |
EssaNodeRefinement | A definition of an ESSA variable that takes another ESSA variable as an input. |
EssaVariable | An (enhanced) SSA variable derived from |
ExceptionCapture | A capture of a raised exception |
ExceptionGroupCapture | A capture of a raised exception group |
ImplicitSubModuleDefinition | An implicit definition of the names of sub-modules in a package. Although the interpreter does not pre-define these names, merely populating them as they are imported, this is a good approximation for static analysis. |
ImportStarRefinement | A possible redefinition of variable via |
MethodCallsiteRefinement | An implicit (possible) modification of the object referred at a method call |
MultiAssignmentDefinition | An assignment to a variable as part of a multiple assignment |
ParameterDefinition | A definition of a variable by declaring it as a parameter |
PatternAliasDefinition | A definition of a variable via a pattern alias |
PatternCaptureDefinition | A definition of a variable via a capture pattern |
PhiFunction | A Phi-function as specified in classic SSA form. |
PyEdgeRefinement | A Python specific sub-class of generic EssaEdgeRefinement |
ScopeEntryDefinition | A definition of variable at the entry of a scope. Usually this represents the transfer of a global or non-local variable from one scope to another. |
SelfCallsiteRefinement | An implicit (possible) modification of |
SingleSuccessorGuard | A pi-node (guard) with only one successor. |
WithDefinition | A definition of a variable in a |