File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -3824,7 +3824,9 @@ impl<'a> Parser<'a> {
38243824 fn recover_stmt_ ( & mut self , break_on_semi : SemiColonMode ) {
38253825 let mut brace_depth = 0 ;
38263826 let mut bracket_depth = 0 ;
3827+ debug ! ( "recover_stmt_ enter loop" ) ;
38273828 loop {
3829+ debug ! ( "recover_stmt_ loop {:?}" , self . token) ;
38283830 match self . token {
38293831 token:: OpenDelim ( token:: DelimToken :: Brace ) => {
38303832 brace_depth += 1 ;
@@ -3836,6 +3838,7 @@ impl<'a> Parser<'a> {
38363838 }
38373839 token:: CloseDelim ( token:: DelimToken :: Brace ) => {
38383840 if brace_depth == 0 {
3841+ debug ! ( "recover_stmt_ return - close delim {:?}" , self . token) ;
38393842 return ;
38403843 }
38413844 brace_depth -= 1 ;
@@ -3848,12 +3851,16 @@ impl<'a> Parser<'a> {
38483851 }
38493852 self . bump ( ) ;
38503853 }
3851- token:: Eof => return ,
3854+ token:: Eof => {
3855+ debug ! ( "recover_stmt_ return - Eof" ) ;
3856+ return ;
3857+ }
38523858 token:: Semi => {
38533859 self . bump ( ) ;
38543860 if break_on_semi == SemiColonMode :: Break &&
38553861 brace_depth == 0 &&
38563862 bracket_depth == 0 {
3863+ debug ! ( "recover_stmt_ return - Semi" ) ;
38573864 return ;
38583865 }
38593866 }
@@ -4042,6 +4049,8 @@ impl<'a> Parser<'a> {
40424049 while !self . eat ( & token:: CloseDelim ( token:: Brace ) ) {
40434050 let Spanned { node, span} = if let Some ( s) = self . parse_stmt_ ( ) {
40444051 s
4052+ } else if self . token == token:: Eof {
4053+ break ;
40454054 } else {
40464055 // Found only `;` or `}`.
40474056 continue ;
You can’t perform that action at this time.
0 commit comments