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

Predicate Internal :: Cached :: impliesStep

Holds if the assumption that g1 has abstract value v1 implies that g2 has abstract value v2, using one step of reasoning. That is, the evaluation of g2 to v2 dominates the evaluation of g1 to v1.

This predicate relies on the control flow graph.

Import path

import semmle.code.csharp.controlflow.Guards
predicate impliesStep ( Guard g1 , AbstractValue v1 , Guard g2 , AbstractValue v2 )