CodeQL library for C#
codeql/csharp-all 1.0.3-dev (changelog, source)

Member predicate GuardedControlFlowNode::getAGuard

Gets an expression that guards this control flow node. That is, this control flow node is only reached when the returned expression has abstract value v.

The expression sub is a sub expression of the guarding expression that is structurally equal to the expression belonging to this control flow node.

In case this control flow node or sub accesses an SSA variable in its left-most qualifier, then so must the other (accessing the same SSA variable).

Guard getAGuard(Expr sub, AbstractValue v)