CodeQL library for Ruby
codeql/ruby-all 0.8.15-dev (changelog, source)
Search

Member predicate BasicBlock::inDominanceFrontier

Holds if df is in the dominance frontier of this basic block. That is, this basic block dominates a predecessor of df, but does not dominate df itself.

Example:

def m x
  if x < 0
    x = -x
    if x > 10
      x = x - 1
    end
  end
  puts x
end

The basic block on line 8 is in the dominance frontier of the basic block starting on line 3 because that block dominates the basic block on line 4, which is a predecessor of puts x. Also, the basic block starting on line 3 does not dominate the basic block on line 8.

predicate inDominanceFrontier(BasicBlock df)