Class ControlFlowNode
A control flow node. Control flow nodes have a many-to-one relation with syntactic nodes, although most syntactic nodes have only one corresponding control flow node. Edges between control flow nodes include exceptional as well as normal control flow.
Import path
import python
Direct supertypes
Known direct subtypes
- AssignmentExprNode
- AttrNode
- BinaryExprNode
- BoolExprNode
- CallNode
- CompareNode
- Comparison
- DefinitionNode
- DeletionNode
- DictNode
- ExceptFlowNode
- ExceptGroupFlowNode
- ForNode
- GuardNode
- IfExprNode
- ImportExprNode
- ImportMemberNode
- ImportStarNode
- IterableNode
- NameNode
- Potential
- PotentialSpecialMethodCallNode
- RaiseStmtNode
- RaisingNode
- SequenceNode
- SetNode
- StarredNode
- SubscriptNode
- UnaryExprNode
Predicates
dominates | Whether this dominates other. Note that all nodes dominate themselves. |
getAChild | |
getAFalseSuccessor | Gets a successor for this node if the relevant condition is False. |
getANormalSuccessor | Gets a successor for this node if no exception is raised. |
getAPredecessor | Gets a predecessor of this flow node |
getASuccessor | Gets a successor of this flow node |
getATrueSuccessor | Gets a successor for this node if the relevant condition is True. |
getAnExceptionalSuccessor | Gets a successor for this node if an exception is raised. |
getBasicBlock | Gets the basic block containing this flow node |
getEnclosingModule | Gets the enclosing module |
getImmediateDominator | Gets the immediate dominator of this flow node |
getLocation | Gets the location of this ControlFlowNode |
getNode | Gets the syntactic element corresponding to this flow node |
getScope | Gets the scope containing this flow node |
hasCompletePointsToSet | Check whether this control-flow node has complete points-to information. This would mean that the analysis managed to infer an over approximation of possible values at runtime. |
inferredValue | Gets a value that this ControlFlowNode may points-to. |
isAttribute | Whether this flow node corresponds to an attribute expression |
isAugLoad | Whether this control flow node is a load in an augmented assignment |
isAugStore | Whether this control flow node is a store in an augmented assignment |
isBranch | Holds if this CFG node is a branch |
isCall | Whether this flow node corresponds to a call |
isClass | Whether this flow node corresponds to a class definition expression |
isDelete | Whether this control flow node is a delete |
isEntryNode | Whether this flow node is the first in its scope |
isExceptionalExit | Whether the scope may be exited as a result of this node raising an exception |
isFunction | Whether this flow node corresponds to a function definition expression |
isIfExp | Whether this flow node corresponds to a conditional expression |
isImport | Whether this flow node corresponds to an import |
isImportMember | Whether this flow node corresponds to an import member |
isLiteral | Whether this flow node corresponds to a literal |
isLoad | Whether this control flow node is a load (including those in augmented assignments) |
isModuleEntry | Whether this flow node is the first in a module |
isNormalExit | Whether this node is a normal (non-exceptional) exit |
isParameter | Whether this control flow node is a parameter |
isStore | Whether this control flow node is a store (including those in augmented assignments) |
isSubscript | Whether this flow node corresponds to an subscript expression |
pointsTo | Gets the value that this ControlFlowNode points-to. |
pointsTo | Gets the value that this ControlFlowNode points-to. |
pointsTo | Gets the value and origin that this ControlFlowNode points-to. |
pointsTo | Gets the value and origin that this ControlFlowNode points-to, given the context. |
refersTo | Equivalent to |
refersTo | Whether this flow node might “refer-to” to |
refersTo | Gets what this flow node might “refer-to”. Performs a combination of localized (intra-procedural) points-to analysis and global module-level analysis. This points-to analysis favours precision over recall. It is highly precise, but may not provide information for a significant number of flow-nodes. If the class is unimportant then use |
refersTo | Gets what this expression might “refer-to” in the given |
strictlyDominates | Whether this strictly dominates other. |
strictlyReaches | Whether this strictly reaches other. |
toString | Gets a textual representation of this element. |
unlikelyReachable | Whether it is unlikely that this ControlFlowNode can be reached |