@@ -354,6 +354,17 @@ where T: Write + Seek
354
354
)
355
355
}
356
356
357
+ pub fn stmts (
358
+ & mut self ,
359
+ s : S ,
360
+ d : D ,
361
+ stmts : & [ Stmt ] ,
362
+ this_id : NodeID ,
363
+ parent_id : Option < NodeID > ,
364
+ ) -> io:: Result < ( ) > {
365
+ self . stmts_with_next ( s, d, stmts, this_id, parent_id, None )
366
+ }
367
+
357
368
pub fn substack ( & mut self , name : & str , this_id : Option < NodeID > ) -> io:: Result < ( ) > {
358
369
let Some ( this_id) = this_id else {
359
370
return Ok ( ( ) ) ;
@@ -967,18 +978,20 @@ where T: Write + Seek
967
978
self . stmts ( s, d, & event. body , next_id, Some ( this_id) )
968
979
}
969
980
970
- pub fn stmts (
981
+ pub fn stmts_with_next (
971
982
& mut self ,
972
983
s : S ,
973
984
d : D ,
974
985
stmts : & [ Stmt ] ,
975
986
mut this_id : NodeID ,
976
987
mut parent_id : Option < NodeID > ,
988
+ last_id : Option < NodeID > ,
977
989
) -> io:: Result < ( ) > {
978
990
for ( i, stmt) in stmts. iter ( ) . enumerate ( ) {
979
991
let is_last = i == stmts. len ( ) - 1 ;
980
992
if is_last || stmt. is_terminator ( ) {
981
- self . stmt ( s, d, stmt, this_id, None , parent_id) ?;
993
+ let next_id = last_id;
994
+ self . stmt ( s, d, stmt, this_id, next_id, parent_id) ?;
982
995
if !is_last {
983
996
d. report ( DiagnosticKind :: FollowedByUnreachableCode , stmt. span ( ) ) ;
984
997
}
0 commit comments