A node that represents the value of a variable after a function call that may have changed the variable because it’s passed by reference.
A typical example would be a call f(&x). Firstly, there will be flow into
x from previous definitions of x. Secondly, there will be a
DefinitionByReferenceNode to represent the value of x after the call has
returned. This node will have its getArgument() equal to &x.
Import path
import semmle.code.cpp.dataflow.internal.DataFlowUtilDirect supertypes
Indirect supertypes
Known direct subtypes
Fields
Inherited fields
Predicates
| toString | Gets a textual representation of this element. |
Inherited predicates
| asDefiningArgument | Gets the argument that defines this | from Node |
| asExpr | Gets the 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 |
| asParameter | Gets the parameter corresponding to this node, if any. | from Node |
| asPartialDefinition | Gets the expression that is partially defined by this node, if any. | from Node |
| asUninitialized | Gets the uninitialized local variable corresponding to this node, if any. | from Node |
| getArgument | Gets the argument corresponding to this node. | from DefinitionByReferenceOrIteratorNode |
| getEnclosingCallable | INTERNAL: Do not use. Alternative name for | from Node |
| getFunction | Gets the function to which this node belongs. | from DefinitionByReferenceOrIteratorNode |
| getLocation | Gets the location of this element. | from DefinitionByReferenceOrIteratorNode |
| getParameter | Gets the parameter through which this value is assigned. | from DefinitionByReferenceOrIteratorNode |
| getPartialDefinition | from PartialDefinitionNode | |
| getPreUpdateNode | Gets the node before the state update. | from DefinitionByReferenceOrIteratorNode |
| getType | Gets the type of this node. | from DefinitionByReferenceOrIteratorNode |
| getTypeBound | Gets an upper bound on the type of this node. | from Node |