@@ -51,26 +51,13 @@ overlay[local?]
5151module;
5252
5353private import codeql.controlflow.BasicBlock as BB
54- private import codeql.controlflow.SuccessorType as ST
54+ private import codeql.controlflow.SuccessorType
5555private import codeql.util.Boolean
5656private import codeql.util.Location
5757private import codeql.util.Unit
5858
5959signature class TypSig;
6060
61- signature module SuccessorTypesSig {
62- class ExceptionSuccessor extends ST::SuccessorType;
63-
64- class ConditionalSuccessor extends ST::SuccessorType {
65- /** Gets the Boolean value of this successor. */
66- boolean getValue();
67- }
68-
69- class BooleanSuccessor extends ConditionalSuccessor;
70-
71- class NullnessSuccessor extends ConditionalSuccessor;
72- }
73-
7461signature module InputSig<LocationSig Location, TypSig ControlFlowNode, TypSig BasicBlock> {
7562 /** A control flow node indicating normal termination of a callable. */
7663 class NormalExitNode extends ControlFlowNode;
@@ -205,13 +192,12 @@ signature module InputSig<LocationSig Location, TypSig ControlFlowNode, TypSig B
205192
206193/** Provides guards-related predicates and classes. */
207194module Make<
208- LocationSig Location, BB::CfgSig<Location> Cfg, SuccessorTypesSig SuccessorTypes,
195+ LocationSig Location, BB::CfgSig<Location> Cfg,
209196 InputSig<Location, Cfg::ControlFlowNode, Cfg::BasicBlock> Input>
210197{
211198 private module Cfg_ = Cfg;
212199
213200 private import Cfg_
214- private import SuccessorTypes
215201 private import Input
216202
217203 private newtype TAbstractSingleValue =
@@ -320,7 +306,7 @@ module Make<
320306 }
321307
322308 private predicate exceptionBranchPoint(BasicBlock bb1, BasicBlock normalSucc, BasicBlock excSucc) {
323- exists(ST:: SuccessorType norm, ExceptionSuccessor exc |
309+ exists(SuccessorType norm, ExceptionSuccessor exc |
324310 bb1.getASuccessor(norm) = normalSucc and
325311 bb1.getASuccessor(exc) = excSucc and
326312 normalSucc != excSucc and
0 commit comments