Class Node
A node in a data flow graph.
A node can be either an expression, a parameter, or an uninitialized local
variable. Such nodes are created with DataFlow::exprNode
,
DataFlow::parameterNode
, and DataFlow::uninitializedNode
respectively.
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil
Direct supertypes
Known direct subtypes
- BodyLessParameterNodeImpl
- ExprNode
- FinalGlobalValue
- FinalParameterNode
- FlowSource
- FlowSummaryNode
- IndirectExprNode
- IndirectReturnNode
- IndirectReturnOutNode
- InitialGlobalValue
- OperandNode
- PostUpdateNode
- RawIndirectInstruction
- RawIndirectOperand
- RemoteFlowSink
- SideEffectOperandNode
- SsaIteratorNode
- SsaPhiInputNode
- SsaPhiNode
- UninitializedNode
- VariableNode
Predicates
asConvertedExpr | Gets the expression corresponding to this node, if any. The returned expression may be a |
asConvertedExpr | Gets the expression corresponding to this node, if any. The returned expression may be a |
asDefiningArgument | Gets the argument that defines this |
asDefiningArgument | Gets the argument that defines this |
asDefinition | Gets the definition associated with this node, if any. |
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 |
asExpr | INTERNAL: Do not use. |
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. |
asIndirectArgument | Gets the the argument going into a function for a node that represents the indirect value of the argument after |
asIndirectConvertedExpr | Gets the expression that’s indirectly tracked by this node behind a number of indirections. |
asIndirectConvertedExpr | Gets the expression that’s indirectly tracked by this node behind |
asIndirectConvertedExpr | INTERNAL: Do not use. |
asIndirectDefinition | Gets the indirect definition at some indirection corresponding to this node, if any. |
asIndirectDefinition | Gets the indirect definition at a given indirection corresponding to this node, if any. |
asIndirectExpr | Gets the non-conversion expression that’s indirectly tracked by this node behind a number of indirections. |
asIndirectExpr | Gets the non-conversion expression that’s indirectly tracked by this node under |
asIndirectExpr | INTERNAL: Do not use. |
asIndirectOperand | Gets the operand that is indirectly tracked by this node behind |
asIndirectVariable | Gets an indirection of this node’s underlying variable, if any. |
asIndirectVariable | Gets the |
asInstruction | Gets the instruction corresponding to this node, if any. |
asOperand | Gets the operands corresponding to this node, if any. |
asParameter | Gets the positional parameter corresponding to this node, if any. |
asParameter | Gets the positional parameter corresponding to the node that represents the value of the parameter after |
asPartialDefinition | Gets the expression that is partially defined by this node, if any. |
asUninitialized | Gets the uninitialized local variable corresponding to this node, if any. |
asVariable | Gets the variable corresponding to this node, if any. This can be used for modeling flow in and out of global variables. |
getBasicBlock | Gets the basic block of this node, if any. |
getEnclosingCallable | INTERNAL: Do not use. |
getFunction | Gets the function to which this node belongs, if any. |
getLocation | Gets the location of this element. |
getLocationImpl | INTERNAL: Do not use. |
getType | Gets the type of this node. |
getTypeBound | Gets an upper bound on the type of this node. |
hasIndexInBlock | Holds if this node is at index |
hasLocationInfo | Holds if this element is at the specified location. The location spans column |
isGLValue | Holds if this node represents a glvalue. |
toString | Gets a textual representation of this element. |
toStringImpl | INTERNAL: Do not use. |