@@ -222,17 +222,18 @@ impl Direction for Backward {
222
222
223
223
let loc = Location { block, statement_index : block_data. statements . len ( ) } ;
224
224
let term = block_data. terminator ( ) ;
225
- results. analysis . apply_early_terminator_effect ( state, term, loc) ;
226
- vis. visit_after_early_terminator_effect ( results, state, term, loc) ;
227
- results. analysis . apply_primary_terminator_effect ( state, term, loc) ;
228
- vis. visit_after_primary_terminator_effect ( results, state, term, loc) ;
225
+ let analysis = & mut results. analysis ;
226
+ analysis. apply_early_terminator_effect ( state, term, loc) ;
227
+ vis. visit_after_early_terminator_effect ( analysis, state, term, loc) ;
228
+ analysis. apply_primary_terminator_effect ( state, term, loc) ;
229
+ vis. visit_after_primary_terminator_effect ( analysis, state, term, loc) ;
229
230
230
231
for ( statement_index, stmt) in block_data. statements . iter ( ) . enumerate ( ) . rev ( ) {
231
232
let loc = Location { block, statement_index } ;
232
- results . analysis . apply_early_statement_effect ( state, stmt, loc) ;
233
- vis. visit_after_early_statement_effect ( results , state, stmt, loc) ;
234
- results . analysis . apply_primary_statement_effect ( state, stmt, loc) ;
235
- vis. visit_after_primary_statement_effect ( results , state, stmt, loc) ;
233
+ analysis. apply_early_statement_effect ( state, stmt, loc) ;
234
+ vis. visit_after_early_statement_effect ( analysis , state, stmt, loc) ;
235
+ analysis. apply_primary_statement_effect ( state, stmt, loc) ;
236
+ vis. visit_after_primary_statement_effect ( analysis , state, stmt, loc) ;
236
237
}
237
238
238
239
vis. visit_block_start ( state) ;
@@ -402,20 +403,21 @@ impl Direction for Forward {
402
403
403
404
vis. visit_block_start ( state) ;
404
405
406
+ let analysis = & mut results. analysis ;
405
407
for ( statement_index, stmt) in block_data. statements . iter ( ) . enumerate ( ) {
406
408
let loc = Location { block, statement_index } ;
407
- results . analysis . apply_early_statement_effect ( state, stmt, loc) ;
408
- vis. visit_after_early_statement_effect ( results , state, stmt, loc) ;
409
- results . analysis . apply_primary_statement_effect ( state, stmt, loc) ;
410
- vis. visit_after_primary_statement_effect ( results , state, stmt, loc) ;
409
+ analysis. apply_early_statement_effect ( state, stmt, loc) ;
410
+ vis. visit_after_early_statement_effect ( analysis , state, stmt, loc) ;
411
+ analysis. apply_primary_statement_effect ( state, stmt, loc) ;
412
+ vis. visit_after_primary_statement_effect ( analysis , state, stmt, loc) ;
411
413
}
412
414
413
415
let loc = Location { block, statement_index : block_data. statements . len ( ) } ;
414
416
let term = block_data. terminator ( ) ;
415
- results . analysis . apply_early_terminator_effect ( state, term, loc) ;
416
- vis. visit_after_early_terminator_effect ( results , state, term, loc) ;
417
- results . analysis . apply_primary_terminator_effect ( state, term, loc) ;
418
- vis. visit_after_primary_terminator_effect ( results , state, term, loc) ;
417
+ analysis. apply_early_terminator_effect ( state, term, loc) ;
418
+ vis. visit_after_early_terminator_effect ( analysis , state, term, loc) ;
419
+ analysis. apply_primary_terminator_effect ( state, term, loc) ;
420
+ vis. visit_after_primary_terminator_effect ( analysis , state, term, loc) ;
419
421
420
422
vis. visit_block_end ( state) ;
421
423
}
0 commit comments