Class GuardedDataFlowNode
A guarded data flow node. A guarded data flow node is like a guarded expression
(GuardedExpr
), except control flow graph splitting is taken into account. That
is, one data flow node belonging to an expression may be guarded, while another
split need not be guarded:
if (b)
if (x == null)
return;
x.ToString();
if (b)
...
In the example above, the node for x.ToString()
is null-guarded in the
split b == true
, but not in the split b == false
.
Import path
import semmle.code.csharp.controlflow.Guards
Direct supertypes
Known direct subtypes
Predicates
getAGuard | Gets an expression that guards this data flow node. That is, this data flow node is only reached when the returned expression has abstract value |
mustHaveValue | Holds if this data flow node must have abstract value |
Inherited predicates
asDefinition | Gets the definition corresponding to this node, if any. | from Node |
asDefinitionAtNode | Gets the definition corresponding to this node, at control flow node | from Node |
asExpr | Gets the expression corresponding to this node, if any. | from Node |
asExprAtNode | Gets the expression corresponding to this node, at control flow node | from Node |
asParameter | Gets the parameter corresponding to this node, if any. | from Node |
getControlFlowNode | Gets the control flow node corresponding to this node, if any. | from Node |
getEnclosingCallable | Gets the enclosing callable of this node. | from Node |
getExpr | Gets the expression corresponding to this node. | from ExprNode |
getExprAtNode | Gets the expression corresponding to this node, at control flow node | from ExprNode |
getLocation | Gets the location of this node. | from Node |
getType | Gets the type of this node. | from Node |
hasLocationInfo | Holds if this element is at the specified location. The location spans column | from Node |
toString | Gets a textual representation of this node. | from Node |