@@ -308,7 +308,7 @@ abstract class BarrierGuardNode extends DataFlow::Node {
308308 exists ( SsaRefinementNode ref , boolean outcome |
309309 nd = DataFlow:: ssaDefinitionNode ( ref ) and
310310 forex ( SsaVariable input | input = ref .getAnInput ( ) |
311- getExpr ( ) = ref .getGuard ( ) .getTest ( ) and
311+ getEnclosingExpr ( ) = ref .getGuard ( ) .getTest ( ) and
312312 outcome = ref .getGuard ( ) .( ConditionGuardNode ) .getOutcome ( ) and
313313 barrierGuardBlocksExpr ( this , outcome , input .getAUse ( ) , label )
314314 )
@@ -317,20 +317,13 @@ abstract class BarrierGuardNode extends DataFlow::Node {
317317 // 2) `nd` is an instance of an access path `p`, and dominated by a barrier for `p`
318318 exists ( AccessPath p , BasicBlock bb , ConditionGuardNode cond , boolean outcome |
319319 nd = DataFlow:: valueNode ( p .getAnInstanceIn ( bb ) ) and
320- getExpr ( ) = cond .getTest ( ) and
320+ getEnclosingExpr ( ) = cond .getTest ( ) and
321321 outcome = cond .getOutcome ( ) and
322322 barrierGuardBlocksAccessPath ( this , outcome , p , label ) and
323323 cond .dominates ( bb )
324324 )
325325 }
326326
327- /** Gets the corresponding expression, including that of reflective calls. */
328- private Expr getExpr ( ) {
329- result = asExpr ( )
330- or
331- this = DataFlow:: reflectiveCallNode ( result )
332- }
333-
334327 /**
335328 * Holds if this node blocks expression `e` provided it evaluates to `outcome`.
336329 *
0 commit comments