mirror of
https://github.com/github/codeql.git
synced 2026-03-28 02:08:17 +01:00
23 lines
777 B
Plaintext
23 lines
777 B
Plaintext
/**
|
|
* Semantic interface to the control flow graph.
|
|
*/
|
|
|
|
private import Semantic
|
|
private import SemanticExprSpecific::SemanticExprConfig as Specific
|
|
|
|
/**
|
|
* A basic block in the control-flow graph.
|
|
*/
|
|
class SemBasicBlock extends Specific::BasicBlock {
|
|
/** Holds if this block (transitively) dominates `otherblock`. */
|
|
final predicate bbDominates(SemBasicBlock otherBlock) { Specific::bbDominates(this, otherBlock) }
|
|
|
|
/** Holds if this block has dominance information. */
|
|
final predicate hasDominanceInformation() { Specific::hasDominanceInformation(this) }
|
|
|
|
/** Gets an expression that is evaluated in this basic block. */
|
|
final SemExpr getAnExpr() { result.getBasicBlock() = this }
|
|
|
|
final int getUniqueId() { result = Specific::getBasicBlockUniqueId(this) }
|
|
}
|