@@ -117,12 +117,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
117
117
*/
118
118
FlowFeature getAFeature ( ) ;
119
119
120
- /** Holds if sources should be grouped in the result of `flowPath`. */
121
- predicate sourceGrouping ( Node source , string sourceGroup ) ;
122
-
123
- /** Holds if sinks should be grouped in the result of `flowPath`. */
124
- predicate sinkGrouping ( Node sink , string sinkGroup ) ;
125
-
126
120
/**
127
121
* Holds if hidden nodes should be included in the data flow graph.
128
122
*
@@ -3934,12 +3928,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
3934
3928
node = sink .getNodeEx ( ) and
3935
3929
state = sink .getState ( )
3936
3930
)
3937
- } or
3938
- TPathNodeSourceGroup ( string sourceGroup ) {
3939
- exists ( PathNodeImpl source | sourceGroup = source .getSourceGroup ( ) )
3940
- } or
3941
- TPathNodeSinkGroup ( string sinkGroup ) {
3942
- exists ( PathNodeSink sink | sinkGroup = sink .getSinkGroup ( ) )
3943
3931
}
3944
3932
3945
3933
/**
@@ -4153,21 +4141,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4153
4141
)
4154
4142
}
4155
4143
4156
- string getSourceGroup ( ) {
4157
- this .isSource ( _) and
4158
- Config:: sourceGrouping ( this .getNodeEx ( ) .asNode ( ) , result )
4159
- }
4160
-
4161
- predicate isFlowSource ( ) {
4162
- this .isSource ( _) and not exists ( this .getSourceGroup ( ) )
4163
- or
4164
- this instanceof PathNodeSourceGroup
4165
- }
4144
+ predicate isFlowSource ( ) { this .isSource ( _) }
4166
4145
4167
- predicate isFlowSink ( ) {
4168
- this = any ( PathNodeSink sink | not exists ( sink .getSinkGroup ( ) ) ) or
4169
- this instanceof PathNodeSinkGroup
4170
- }
4146
+ predicate isFlowSink ( ) { this instanceof PathNodeSink }
4171
4147
4172
4148
private string ppType ( ) {
4173
4149
this instanceof PathNodeSink and result = ""
@@ -4217,7 +4193,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4217
4193
/** Holds if `n` can reach a sink. */
4218
4194
private predicate directReach ( PathNodeImpl n ) {
4219
4195
n instanceof PathNodeSink or
4220
- n instanceof PathNodeSinkGroup or
4221
4196
directReach ( n .getANonHiddenSuccessor ( _) )
4222
4197
}
4223
4198
@@ -4284,11 +4259,19 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4284
4259
/** Holds if this node is a source. */
4285
4260
final predicate isSource ( ) { super .isSource ( _) }
4286
4261
4287
- /** Holds if this node is a grouping of source nodes. */
4288
- final predicate isSourceGroup ( string group ) { this = TPathNodeSourceGroup ( group ) }
4262
+ /**
4263
+ * DEPRECATED: This functionality is no longer available.
4264
+ *
4265
+ * Holds if this node is a grouping of source nodes.
4266
+ */
4267
+ deprecated final predicate isSourceGroup ( string group ) { none ( ) }
4289
4268
4290
- /** Holds if this node is a grouping of sink nodes. */
4291
- final predicate isSinkGroup ( string group ) { this = TPathNodeSinkGroup ( group ) }
4269
+ /**
4270
+ * DEPRECATED: This functionality is no longer available.
4271
+ *
4272
+ * Holds if this node is a grouping of sink nodes.
4273
+ */
4274
+ deprecated final predicate isSinkGroup ( string group ) { none ( ) }
4292
4275
}
4293
4276
4294
4277
/**
@@ -4436,53 +4419,11 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4436
4419
4437
4420
override FlowState getState ( ) { result = state }
4438
4421
4439
- override PathNodeImpl getASuccessorImpl ( string label ) {
4440
- result = TPathNodeSinkGroup ( this .getSinkGroup ( ) ) and label = ""
4441
- }
4422
+ override PathNodeImpl getASuccessorImpl ( string label ) { none ( ) }
4442
4423
4443
4424
override predicate isSource ( string model ) {
4444
4425
sourceNode ( node , state ) and sourceModel ( node , model )
4445
4426
}
4446
-
4447
- string getSinkGroup ( ) { Config:: sinkGrouping ( node .asNode ( ) , result ) }
4448
- }
4449
-
4450
- private class PathNodeSourceGroup extends PathNodeImpl , TPathNodeSourceGroup {
4451
- string sourceGroup ;
4452
-
4453
- PathNodeSourceGroup ( ) { this = TPathNodeSourceGroup ( sourceGroup ) }
4454
-
4455
- override NodeEx getNodeEx ( ) { none ( ) }
4456
-
4457
- override FlowState getState ( ) { none ( ) }
4458
-
4459
- override PathNodeImpl getASuccessorImpl ( string label ) {
4460
- result .getSourceGroup ( ) = sourceGroup and label = ""
4461
- }
4462
-
4463
- override predicate isSource ( string model ) { none ( ) }
4464
-
4465
- override string toString ( ) { result = sourceGroup }
4466
-
4467
- override Location getLocation ( ) { result .hasLocationInfo ( "" , 0 , 0 , 0 , 0 ) }
4468
- }
4469
-
4470
- private class PathNodeSinkGroup extends PathNodeImpl , TPathNodeSinkGroup {
4471
- string sinkGroup ;
4472
-
4473
- PathNodeSinkGroup ( ) { this = TPathNodeSinkGroup ( sinkGroup ) }
4474
-
4475
- override NodeEx getNodeEx ( ) { none ( ) }
4476
-
4477
- override FlowState getState ( ) { none ( ) }
4478
-
4479
- override PathNodeImpl getASuccessorImpl ( string label ) { none ( ) }
4480
-
4481
- override predicate isSource ( string model ) { none ( ) }
4482
-
4483
- override string toString ( ) { result = sinkGroup }
4484
-
4485
- override Location getLocation ( ) { result .hasLocationInfo ( "" , 0 , 0 , 0 , 0 ) }
4486
4427
}
4487
4428
4488
4429
private predicate pathNode (
0 commit comments