CodeQL library for C#
Search

Member predicate BasicBlock::strictlyPostDominates

Holds if this basic block strictly post-dominates basic block bb.

That is, all paths reaching a normal exit point basic block from basic block bb must go through this basic block (which must be different from bb).

Example:

int M(string s) {
  try {
    return s.Length;
  }
  finally {
    Console.WriteLine("M");
  }
}

The basic block on line 6 strictly post-dominates the basic block on line 3 (all paths to the exit point of M from return s.Length; must go through the WriteLine call).

predicate strictlyPostDominates(BasicBlock bb)