@@ -640,19 +640,20 @@ impl<'a> Parser<'a> {
640640 #[ inline]
641641 #[ must_use]
642642 fn check_keyword ( & mut self , kw : Symbol ) -> bool {
643- self . expected_token_types . push ( TokenType :: Keyword ( kw) ) ;
644- self . token . is_keyword ( kw)
643+ let is_keyword = self . token . is_keyword ( kw) ;
644+ if !is_keyword {
645+ self . expected_token_types . push ( TokenType :: Keyword ( kw) ) ;
646+ }
647+ is_keyword
645648 }
646649
647650 #[ inline]
648651 #[ must_use]
649652 fn check_keyword_case ( & mut self , kw : Symbol , case : Case ) -> bool {
650653 if self . check_keyword ( kw) {
651- return true ;
652- }
653-
654+ true
654655 // Do an ASCII case-insensitive match, because all keywords are ASCII.
655- if case == Case :: Insensitive
656+ } else if case == Case :: Insensitive
656657 && let Some ( ( ident, IdentIsRaw :: No ) ) = self . token . ident ( )
657658 && ident. as_str ( ) . eq_ignore_ascii_case ( kw. as_str ( ) )
658659 {
@@ -668,12 +669,11 @@ impl<'a> Parser<'a> {
668669 #[ inline]
669670 #[ must_use]
670671 pub fn eat_keyword ( & mut self , kw : Symbol ) -> bool {
671- if self . check_keyword ( kw) {
672+ let is_keyword = self . check_keyword ( kw) ;
673+ if is_keyword {
672674 self . bump ( ) ;
673- true
674- } else {
675- false
676675 }
676+ is_keyword
677677 }
678678
679679 /// Eats a keyword, optionally ignoring the case.
@@ -683,19 +683,17 @@ impl<'a> Parser<'a> {
683683 #[ must_use]
684684 fn eat_keyword_case ( & mut self , kw : Symbol , case : Case ) -> bool {
685685 if self . eat_keyword ( kw) {
686- return true ;
687- }
688-
689- if case == Case :: Insensitive
686+ true
687+ } else if case == Case :: Insensitive
690688 && let Some ( ( ident, IdentIsRaw :: No ) ) = self . token . ident ( )
691689 && ident. as_str ( ) . to_lowercase ( ) == kw. as_str ( ) . to_lowercase ( )
692690 {
693691 self . dcx ( ) . emit_err ( errors:: KwBadCase { span : ident. span , kw : kw. as_str ( ) } ) ;
694692 self . bump ( ) ;
695- return true ;
693+ true
694+ } else {
695+ false
696696 }
697-
698- false
699697 }
700698
701699 /// If the next token is the given keyword, eats it and returns `true`.
@@ -704,12 +702,11 @@ impl<'a> Parser<'a> {
704702 #[ inline]
705703 #[ must_use]
706704 pub fn eat_keyword_noexpect ( & mut self , kw : Symbol ) -> bool {
707- if self . token . is_keyword ( kw) {
705+ let is_keyword = self . token . is_keyword ( kw) ;
706+ if is_keyword {
708707 self . bump ( ) ;
709- true
710- } else {
711- false
712708 }
709+ is_keyword
713710 }
714711
715712 /// If the given word is not a keyword, signals an error.
@@ -726,12 +723,10 @@ impl<'a> Parser<'a> {
726723
727724 #[ inline]
728725 fn check_or_expected ( & mut self , ok : bool , typ : TokenType ) -> bool {
729- if ok {
730- true
731- } else {
726+ if !ok {
732727 self . expected_token_types . push ( typ) ;
733- false
734728 }
729+ ok
735730 }
736731
737732 fn check_ident ( & mut self ) -> bool {
0 commit comments