@@ -91,10 +91,10 @@ signature module FullStateConfigSig {
9191 */
9292 FlowFeature getAFeature ( ) ;
9393
94- /** Holds if sources should be grouped in the result of `hasFlowPath `. */
94+ /** Holds if sources should be grouped in the result of `flowPath `. */
9595 predicate sourceGrouping ( Node source , string sourceGroup ) ;
9696
97- /** Holds if sinks should be grouped in the result of `hasFlowPath `. */
97+ /** Holds if sinks should be grouped in the result of `flowPath `. */
9898 predicate sinkGrouping ( Node sink , string sinkGroup ) ;
9999
100100 /**
@@ -445,11 +445,7 @@ module Impl<FullStateConfigSig Config> {
445445 }
446446
447447 private module Stage1 implements StageSig {
448- class Ap extends int {
449- // workaround for bad functionality-induced joins (happens when using `Unit`)
450- pragma [ nomagic]
451- Ap ( ) { this in [ 0 .. 1 ] and this < 1 }
452- }
448+ class Ap = Unit ;
453449
454450 private class Cc = boolean ;
455451
@@ -3633,7 +3629,7 @@ module Impl<FullStateConfigSig Config> {
36333629 * The corresponding paths are generated from the end-points and the graph
36343630 * included in the module `PathGraph`.
36353631 */
3636- predicate hasFlowPath ( PathNode source , PathNode sink ) {
3632+ predicate flowPath ( PathNode source , PathNode sink ) {
36373633 exists ( PathNodeImpl flowsource , PathNodeImpl flowsink |
36383634 source = flowsource and sink = flowsink
36393635 |
@@ -3643,6 +3639,9 @@ module Impl<FullStateConfigSig Config> {
36433639 )
36443640 }
36453641
3642+ /** DEPRECATED: Use `flowPath` instead. */
3643+ deprecated predicate hasFlowPath = flowPath / 2 ;
3644+
36463645 private predicate flowsTo ( PathNodeImpl flowsource , PathNodeSink flowsink , Node source , Node sink ) {
36473646 flowsource .isSource ( ) and
36483647 flowsource .getNodeEx ( ) .asNode ( ) = source and
@@ -3653,17 +3652,26 @@ module Impl<FullStateConfigSig Config> {
36533652 /**
36543653 * Holds if data can flow from `source` to `sink`.
36553654 */
3656- predicate hasFlow ( Node source , Node sink ) { flowsTo ( _, _, source , sink ) }
3655+ predicate flow ( Node source , Node sink ) { flowsTo ( _, _, source , sink ) }
3656+
3657+ /** DEPRECATED: Use `flow` instead. */
3658+ deprecated predicate hasFlow = flow / 2 ;
36573659
36583660 /**
36593661 * Holds if data can flow from some source to `sink`.
36603662 */
3661- predicate hasFlowTo ( Node sink ) { sink = any ( PathNodeSink n ) .getNodeEx ( ) .asNode ( ) }
3663+ predicate flowTo ( Node sink ) { sink = any ( PathNodeSink n ) .getNodeEx ( ) .asNode ( ) }
3664+
3665+ /** DEPRECATED: Use `flowTo` instead. */
3666+ deprecated predicate hasFlowTo = flowTo / 1 ;
36623667
36633668 /**
36643669 * Holds if data can flow from some source to `sink`.
36653670 */
3666- predicate hasFlowToExpr ( DataFlowExpr sink ) { hasFlowTo ( exprNode ( sink ) ) }
3671+ predicate flowToExpr ( DataFlowExpr sink ) { flowTo ( exprNode ( sink ) ) }
3672+
3673+ /** DEPRECATED: Use `flowToExpr` instead. */
3674+ deprecated predicate hasFlowToExpr = flowToExpr / 1 ;
36673675
36683676 private predicate finalStats (
36693677 boolean fwd , int nodes , int fields , int conscand , int states , int tuples
@@ -4574,7 +4582,7 @@ module Impl<FullStateConfigSig Config> {
45744582 *
45754583 * To use this in a `path-problem` query, import the module `PartialPathGraph`.
45764584 */
4577- predicate hasPartialFlow ( PartialPathNode source , PartialPathNode node , int dist ) {
4585+ predicate partialFlow ( PartialPathNode source , PartialPathNode node , int dist ) {
45784586 partialFlow ( source , node ) and
45794587 dist = node .getSourceDistance ( )
45804588 }
@@ -4594,7 +4602,7 @@ module Impl<FullStateConfigSig Config> {
45944602 * Note that reverse flow has slightly lower precision than the corresponding
45954603 * forward flow, as reverse flow disregards type pruning among other features.
45964604 */
4597- predicate hasPartialFlowRev ( PartialPathNode node , PartialPathNode sink , int dist ) {
4605+ predicate partialFlowRev ( PartialPathNode node , PartialPathNode sink , int dist ) {
45984606 revPartialFlow ( node , sink ) and
45994607 dist = node .getSinkDistance ( )
46004608 }
0 commit comments