Class Guards::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.

Direct supertypes

Indirect 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 v.

mustHaveValue

Holds if this data flow node must have abstract value v. That is, this data flow node is guarded by a structurally equal expression having abstract value v.

Inherited predicates

asExpr

Gets the expression corresponding to this node, if any.

from Node
asExprAtNode

Gets the expression corresponding to this node, at control flow node cfn, if any.

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 ExprNode
getEnclosingCallable

Gets the enclosing callable of this node.

from ExprNode
getExpr

Gets the expression corresponding to this node.

from ExprNode
getExprAtNode

Gets the expression corresponding to this node, at control flow node cfn, if any.

from ExprNode
getLocation

Gets the location of this node.

from ExprNode
getType

Gets the type of this node.

from ExprNode
getTypeBound

Gets an upper bound on the type of this node.

from Node
hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

from Node
toString

Gets a textual representation of this node.

from ExprNode

Charpred