Module Essa
Library for SSA representation (Static Single Assignment form).
Import path
import semmle.python.essa.EssaImports
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 |