Class Comparison
A comparison which can be simplified to the canonical form x OP y + k where x and y are ControlFlowNodes,
k is a floating point constant and OP is one of <=, >, == or !=.
Import path
import semmle.python.ComparisonsDirect supertypes
Indirect supertypes
Predicates
| impliesThat | Whether the result of this comparison being |
| tests | Whether this condition tests |
| tests | Whether this condition tests |
Inherited predicates
| dominates | Whether this dominates other. Note that all nodes dominate themselves. | from ControlFlowNode |
| getAChild | from ControlFlowNode | |
| getAFalseSuccessor | Gets a successor for this node if the relevant condition is False. | from ControlFlowNode |
| getANormalSuccessor | Gets a successor for this node if no exception is raised. | from ControlFlowNode |
| getAPredecessor | Gets a predecessor of this flow node | from ControlFlowNode |
| getASuccessor | Gets a successor of this flow node | from ControlFlowNode |
| getATrueSuccessor | Gets a successor for this node if the relevant condition is True. | from ControlFlowNode |
| getAnExceptionalSuccessor | Gets a successor for this node if an exception is raised. | from ControlFlowNode |
| getBasicBlock | Gets the basic block containing this flow node | from ControlFlowNode |
| getEnclosingModule | Gets the enclosing module | from ControlFlowNode |
| getImmediateDominator | Gets the immediate dominator of this flow node | from ControlFlowNode |
| getLocation | Gets the location of this ControlFlowNode | from ControlFlowNode |
| getNode | Gets the syntactic element corresponding to this flow node | from ControlFlowNode |
| getScope | Gets the scope containing this flow node | from ControlFlowNode |
| 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. | from ControlFlowNode |
| inferredValue | Gets a value that this ControlFlowNode may points-to. | from ControlFlowNode |
| isAttribute | Whether this flow node corresponds to an attribute expression | from ControlFlowNode |
| isAugLoad | Whether this control flow node is a load in an augmented assignment | from ControlFlowNode |
| isAugStore | Whether this control flow node is a store in an augmented assignment | from ControlFlowNode |
| isBranch | Holds if this CFG node is a branch | from ControlFlowNode |
| isCall | Whether this flow node corresponds to a call | from ControlFlowNode |
| isClass | Whether this flow node corresponds to a class definition expression | from ControlFlowNode |
| isDelete | Whether this control flow node is a delete | from ControlFlowNode |
| isEntryNode | Whether this flow node is the first in its scope | from ControlFlowNode |
| isExceptionalExit | Whether the scope may be exited as a result of this node raising an exception | from ControlFlowNode |
| isFunction | Whether this flow node corresponds to a function definition expression | from ControlFlowNode |
| isIfExp | Whether this flow node corresponds to a conditional expression | from ControlFlowNode |
| isImport | Whether this flow node corresponds to an import | from ControlFlowNode |
| isImportMember | Whether this flow node corresponds to an import member | from ControlFlowNode |
| isLiteral | Whether this flow node corresponds to a literal | from ControlFlowNode |
| isLoad | Whether this control flow node is a load (including those in augmented assignments) | from ControlFlowNode |
| isModuleEntry | Whether this flow node is the first in a module | from ControlFlowNode |
| isNormalExit | Whether this node is a normal (non-exceptional) exit | from ControlFlowNode |
| isParameter | Whether this control flow node is a parameter | from ControlFlowNode |
| isStore | Whether this control flow node is a store (including those in augmented assignments) | from ControlFlowNode |
| isSubscript | Whether this flow node corresponds to an subscript expression | from ControlFlowNode |
| pointsTo | Gets the value that this ControlFlowNode points-to. | from ControlFlowNode |
| pointsTo | Gets the value that this ControlFlowNode points-to. | from ControlFlowNode |
| pointsTo | Gets the value and origin that this ControlFlowNode points-to. | from ControlFlowNode |
| pointsTo | Gets the value and origin that this ControlFlowNode points-to, given the context. | from ControlFlowNode |
| refersTo | Equivalent to | from ControlFlowNode |
| refersTo | Whether this flow node might “refer-to” to | from ControlFlowNode |
| 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 | from ControlFlowNode |
| refersTo | Gets what this expression might “refer-to” in the given | from ControlFlowNode |
| strictlyDominates | Whether this strictly dominates other. | from ControlFlowNode |
| strictlyReaches | Whether this strictly reaches other. | from ControlFlowNode |
| toString | Gets a textual representation of this element. | from ControlFlowNode |
| unlikelyReachable | Whether it is unlikely that this ControlFlowNode can be reached | from ControlFlowNode |