@@ -307,7 +307,7 @@ module API {
307307 useRoot ( _, nd )
308308 or
309309 exists ( ExprCfgNode node , DataFlow:: LocalSourceNode pred |
310- pred = pruneUseNodeFwd ( ) and
310+ pred = useCandFwd ( ) and
311311 pred .flowsTo ( any ( DataFlow:: ExprNode n | n .getExprNode ( ) = node ) ) and
312312 useStep ( _, node , nd )
313313 )
@@ -319,31 +319,29 @@ module API {
319319 cached
320320 predicate use ( TApiNode nd , DataFlow:: Node ref ) { nd = MkUse ( ref ) }
321321
322- private DataFlow:: LocalSourceNode pruneUseNodeFwd ( TypeTracker t ) {
322+ private DataFlow:: LocalSourceNode useCandFwd ( TypeTracker t ) {
323323 t .start ( ) and
324324 isUse ( result )
325325 or
326- exists ( TypeTracker t2 | result = pruneUseNodeFwd ( t2 ) .track ( t2 , t ) )
326+ exists ( TypeTracker t2 | result = useCandFwd ( t2 ) .track ( t2 , t ) )
327327 }
328328
329- private DataFlow:: LocalSourceNode pruneUseNodeFwd ( ) {
330- result = pruneUseNodeFwd ( TypeTracker:: end ( ) )
331- }
329+ private DataFlow:: LocalSourceNode useCandFwd ( ) { result = useCandFwd ( TypeTracker:: end ( ) ) }
332330
333- private DataFlow:: Node pruneUseNodeRev ( TypeBackTracker tb ) {
334- result = pruneUseNodeFwd ( ) and
331+ private DataFlow:: Node useCandRev ( TypeBackTracker tb ) {
332+ result = useCandFwd ( ) and
335333 tb .start ( )
336334 or
337335 exists ( TypeBackTracker tb2 , DataFlow:: LocalSourceNode mid , TypeTracker t |
338- mid = pruneUseNodeRev ( tb2 ) and
336+ mid = useCandRev ( tb2 ) and
339337 result = mid .backtrack ( tb2 , tb ) and
340- pragma [ only_bind_out ] ( result ) = pruneUseNodeFwd ( t ) and
338+ pragma [ only_bind_out ] ( result ) = useCandFwd ( t ) and
341339 pragma [ only_bind_out ] ( t ) = pragma [ only_bind_out ] ( tb ) .getACompatibleTypeTracker ( )
342340 )
343341 }
344342
345- private DataFlow:: LocalSourceNode pruneUseNodeRev ( ) {
346- result = pruneUseNodeRev ( TypeBackTracker:: end ( ) ) and
343+ private DataFlow:: LocalSourceNode useCandRev ( ) {
344+ result = useCandRev ( TypeBackTracker:: end ( ) ) and
347345 isUse ( result )
348346 }
349347
@@ -354,13 +352,13 @@ module API {
354352 */
355353 private DataFlow:: Node trackUseNode ( DataFlow:: LocalSourceNode src , TypeTracker t ) {
356354 result = src and
357- result = pruneUseNodeRev ( ) and
355+ result = useCandRev ( ) and
358356 t .start ( )
359357 or
360358 exists ( TypeTracker t2 , DataFlow:: LocalSourceNode mid , TypeBackTracker tb |
361359 mid = trackUseNode ( src , t2 ) and
362360 result = mid .track ( t2 , t ) and
363- pragma [ only_bind_out ] ( result ) = pruneUseNodeRev ( tb ) and
361+ pragma [ only_bind_out ] ( result ) = useCandRev ( tb ) and
364362 pragma [ only_bind_out ] ( t ) = pragma [ only_bind_out ] ( tb ) .getACompatibleTypeTracker ( )
365363 )
366364 }
0 commit comments