mirror of
https://github.com/github/codeql.git
synced 2026-04-24 16:25:15 +02:00
Shared: Use shared SuccessorType in shared Cfg and BasicBlock libs.
This commit is contained in:
@@ -7,10 +7,9 @@ module;
|
||||
import java
|
||||
import Dominance
|
||||
private import codeql.controlflow.BasicBlock as BB
|
||||
private import codeql.controlflow.SuccessorType
|
||||
|
||||
private module Input implements BB::InputSig<Location> {
|
||||
import codeql.controlflow.SuccessorType
|
||||
|
||||
/** Hold if `t` represents a conditional successor type. */
|
||||
predicate successorTypeIsCondition(SuccessorType t) { none() }
|
||||
|
||||
@@ -96,7 +95,7 @@ class BasicBlock extends BbImpl::BasicBlock {
|
||||
predicate strictlyDominates(BasicBlock bb) { super.strictlyDominates(bb) }
|
||||
|
||||
/** Gets an immediate successor of this basic block of a given type, if any. */
|
||||
BasicBlock getASuccessor(Input::SuccessorType t) { result = super.getASuccessor(t) }
|
||||
BasicBlock getASuccessor(SuccessorType t) { result = super.getASuccessor(t) }
|
||||
|
||||
BasicBlock getASuccessor() { result = super.getASuccessor() }
|
||||
|
||||
@@ -161,8 +160,6 @@ private class BasicBlockAlias = BasicBlock;
|
||||
module Cfg implements BB::CfgSig<Location> {
|
||||
class ControlFlowNode = BbImpl::ControlFlowNode;
|
||||
|
||||
class SuccessorType = BbImpl::SuccessorType;
|
||||
|
||||
class BasicBlock = BasicBlockAlias;
|
||||
|
||||
class EntryBasicBlock extends BasicBlock instanceof BbImpl::EntryBasicBlock { }
|
||||
|
||||
@@ -139,7 +139,7 @@ private predicate isNonFallThroughPredecessor(SwitchCase sc, ControlFlowNode pre
|
||||
)
|
||||
}
|
||||
|
||||
private module SuccessorTypes implements SharedGuards::SuccessorTypesSig<SuccessorType> {
|
||||
private module SuccessorTypes implements SharedGuards::SuccessorTypesSig {
|
||||
import codeql.controlflow.SuccessorType
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user