@@ -311,13 +311,13 @@ private module Cached {
311311 }
312312
313313 cached
314- predicate immediatelyControls ( ConditionBlock cb , BasicBlock succ , BooleanSuccessor s ) {
314+ predicate immediatelyControls ( ConditionBlock cb , BasicBlock succ , ConditionalSuccessor s ) {
315315 succ = cb .getASuccessor ( s ) and
316316 forall ( BasicBlock pred | pred = succ .getAPredecessor ( ) and pred != cb | succ .dominates ( pred ) )
317317 }
318318
319319 cached
320- predicate controls ( ConditionBlock cb , BasicBlock controlled , BooleanSuccessor s ) {
320+ predicate controls ( ConditionBlock cb , BasicBlock controlled , ConditionalSuccessor s ) {
321321 exists ( BasicBlock succ | cb .immediatelyControls ( succ , s ) | succ .dominates ( controlled ) )
322322 }
323323}
@@ -406,7 +406,7 @@ class ConditionBlock extends BasicBlock {
406406 * successor of this block, and `succ` can only be reached from
407407 * the callable entry point by going via the `s` edge out of this basic block.
408408 */
409- predicate immediatelyControls ( BasicBlock succ , BooleanSuccessor s ) {
409+ predicate immediatelyControls ( BasicBlock succ , ConditionalSuccessor s ) {
410410 immediatelyControls ( this , succ , s )
411411 }
412412
@@ -415,5 +415,7 @@ class ConditionBlock extends BasicBlock {
415415 * conditional value `s`. That is, `controlled` can only be reached from
416416 * the callable entry point by going via the `s` edge out of this basic block.
417417 */
418- predicate controls ( BasicBlock controlled , BooleanSuccessor s ) { controls ( this , controlled , s ) }
418+ predicate controls ( BasicBlock controlled , ConditionalSuccessor s ) {
419+ controls ( this , controlled , s )
420+ }
419421}
0 commit comments