CodeQL library for Python
codeql/python-all 2.1.1-dev (changelog, source)
Search

Class 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.

Import path

import python

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAPrimaryQlClass

Gets the name of the primary QL class for this element.

getAUse

Gets a use of this definition as defined by the SsaSourceVariable class.

getBasicBlock
getInput

Gets the SSA variable to which this refinement applies.

getLocation

Gets the location of a control flow node that is indicative of this definition. Since definitions may occur on edges of the control flow graph, the given location may be imprecise. Distinct EssaDefinitions may return the same ControlFlowNode even for the same variable.

getPredecessor

Gets the basic block preceding the edge on which this refinement occurs.

getRepresentation

Gets a representation of this SSA definition for debugging purposes. Since this is primarily for debugging and testing, performance may be poor.

getScope

Gets the scope of the variable defined by this definition.

getSense
getSourceVariable

Gets the source variable for which this a definition, either explicit or implicit.

getSuccessor

Gets the basic block succeeding the edge on which this refinement occurs.

reachesEndOfBlock

Holds if this definition reaches the end of b.

toString

Gets a textual representation of this element.

Inherited predicates