Class PostUpdateNode
A node associated with an object after an operation that might have changed its state.
This can be either the argument to a callable after the callable returns (which might have mutated the argument), or the qualifier of a field after an update to the field.
Nodes corresponding to AST elements, for example ExprNode, usually refer
to the value before the update with the exception of ClassInstanceExpr,
which represents the value after the constructor has run.
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowUtilDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| getPreUpdateNode | Gets the node before the state update. |
| getType | Gets the type of this node. |
Inherited predicates
| asCertainDefinition | Gets the definition associated with this node, if this node is a certain definition. | from Node |
| asConvertedExpr | Gets the expression corresponding to this node, if any. The returned expression may be a | from Node |
| asConvertedExpr | Gets the expression corresponding to this node, if any. The returned expression may be a | from Node |
| asDefiningArgument | Gets the argument that defines this | from Node |
| asDefiningArgument | Gets the argument that defines this | from Node |
| asDefinition | Gets the definition associated with this node, if any. | from Node |
| asDefinition | Gets the definition associated with this node, if any. | from Node |
| asExpr | Gets the non-conversion expression corresponding to this node, if any. This predicate only has a result on nodes that represent the value of evaluating the expression. For data flowing out of an expression, like when an argument is passed by reference, use | from Node |
| asExpr | INTERNAL: Do not use. | from Node |
| asIndirectArgument | Gets the the argument going into a function for a node that represents the indirect value of the argument after any non-zero number of loads. | from Node |
| asIndirectArgument | Gets the the argument going into a function for a node that represents the indirect value of the argument after | from Node |
| asIndirectConvertedExpr | Gets the expression that’s indirectly tracked by this node behind a number of indirections. | from Node |
| asIndirectConvertedExpr | Gets the expression that’s indirectly tracked by this node behind | from Node |
| asIndirectConvertedExpr | INTERNAL: Do not use. | from Node |
| asIndirectDefinition | Gets the indirect definition at some indirection corresponding to this node, if any. | from Node |
| asIndirectDefinition | Gets the indirect definition at a given indirection corresponding to this node, if any. | from Node |
| asIndirectExpr | Gets the non-conversion expression that’s indirectly tracked by this node behind a number of indirections. | from Node |
| asIndirectExpr | Gets the non-conversion expression that’s indirectly tracked by this node under | from Node |
| asIndirectExpr | INTERNAL: Do not use. | from Node |
| asIndirectOperand | Gets the operand that is indirectly tracked by this node behind | from Node |
| asIndirectVariable | Gets an indirection of this node’s underlying variable, if any. | from Node |
| asIndirectVariable | Gets the | from Node |
| asInstruction | Gets the instruction corresponding to this node, if any. | from Node |
| asOperand | Gets the operands corresponding to this node, if any. | from Node |
| asParameter | Gets the positional parameter corresponding to this node, if any. | from Node |
| asParameter | Gets the positional parameter corresponding to the node that represents the value of the parameter after | from Node |
| asPartialDefinition | Gets the expression that is partially defined by this node, if any. | from Node |
| asUncertainDefinition | Gets the definition associated with this node, if this node is an uncertain definition. | from Node |
| asUninitialized | Gets the uninitialized local variable corresponding to this node, if any. | from Node |
| asVariable | Gets the variable corresponding to this node, if any. This can be used for modeling flow in and out of global variables. | from Node |
| getBasicBlock | Gets the basic block of this node, if any. | from Node |
| getEnclosingCallable | INTERNAL: Do not use. | from Node |
| getFunction | Gets the function to which this node belongs, if any. | from Node |
| getLocation | Gets the location of this element. | from Node |
| getLocationImpl | INTERNAL: Do not use. | from Node |
| getTypeBound | Gets an upper bound on the type of this node. | from Node |
| hasIndexInBlock | Holds if this node is at index | from Node |
| isFinalValueOfParameter | Holds if this node represents the value of an output parameter | from Node |
| isFinalValueOfParameter | Holds if this node represents the | from Node |
| isGLValue | Holds if this node represents a glvalue. | from Node |
| toString | Gets a textual representation of this element. | from Node |
| toStringImpl | INTERNAL: Do not use. | from Node |