@@ -83,18 +83,6 @@ macro_rules! maybe_recover_from_interpolated_ty_qpath {
8383 } ;
8484}
8585
86- #[ derive( Debug , Clone , Copy , PartialEq ) ]
87- enum PrevTokenKind {
88- DocComment ,
89- Comma ,
90- Plus ,
91- Interpolated ,
92- Eof ,
93- Ident ,
94- BitOr ,
95- Other ,
96- }
97-
9886#[ derive( Clone ) ]
9987pub struct Parser < ' a > {
10088 pub sess : & ' a ParseSess ,
@@ -115,9 +103,6 @@ pub struct Parser<'a> {
115103 /// Preferable use is through the `unnormalized_prev_token()` getter.
116104 /// Use span from this token if you need to concatenate it with some neighbouring spans.
117105 unnormalized_prev_token : Option < Token > ,
118- /// Equivalent to `prev_token.kind` in simplified form.
119- /// FIXME: Remove in favor of `(unnormalized_)prev_token().kind`.
120- prev_token_kind : PrevTokenKind ,
121106 /// Equivalent to `unnormalized_prev_token().span`.
122107 /// FIXME: Remove in favor of `(unnormalized_)prev_token().span`.
123108 pub prev_span : Span ,
@@ -396,7 +381,6 @@ impl<'a> Parser<'a> {
396381 unnormalized_token : None ,
397382 prev_token : Token :: dummy ( ) ,
398383 unnormalized_prev_token : None ,
399- prev_token_kind : PrevTokenKind :: Other ,
400384 prev_span : DUMMY_SP ,
401385 restrictions : Restrictions :: empty ( ) ,
402386 recurse_into_file_modules,
@@ -523,10 +507,11 @@ impl<'a> Parser<'a> {
523507 self . bump ( ) ;
524508 Ok ( Ident :: new ( name, span) )
525509 }
526- _ => Err ( if self . prev_token_kind == PrevTokenKind :: DocComment {
527- self . span_fatal_err ( self . prev_span , Error :: UselessDocComment )
528- } else {
529- self . expected_ident_found ( )
510+ _ => Err ( match self . prev_token . kind {
511+ TokenKind :: DocComment ( ..) => {
512+ self . span_fatal_err ( self . prev_span , Error :: UselessDocComment )
513+ }
514+ _ => self . expected_ident_found ( ) ,
530515 } ) ,
531516 }
532517 }
@@ -908,7 +893,7 @@ impl<'a> Parser<'a> {
908893
909894 /// Advance the parser by one token.
910895 pub fn bump ( & mut self ) {
911- if self . prev_token_kind == PrevTokenKind :: Eof {
896+ if self . prev_token . kind == TokenKind :: Eof {
912897 // Bumping after EOF is a bad sign, usually an infinite loop.
913898 let msg = "attempted to bump the parser past EOF (may be stuck in a loop)" ;
914899 self . span_bug ( self . token . span , msg) ;
@@ -920,16 +905,6 @@ impl<'a> Parser<'a> {
920905 self . unnormalized_prev_token = self . unnormalized_token . take ( ) ;
921906
922907 // Update fields derived from the previous token.
923- self . prev_token_kind = match self . prev_token . kind {
924- token:: DocComment ( ..) => PrevTokenKind :: DocComment ,
925- token:: Comma => PrevTokenKind :: Comma ,
926- token:: BinOp ( token:: Plus ) => PrevTokenKind :: Plus ,
927- token:: BinOp ( token:: Or ) => PrevTokenKind :: BitOr ,
928- token:: Interpolated ( ..) => PrevTokenKind :: Interpolated ,
929- token:: Eof => PrevTokenKind :: Eof ,
930- token:: Ident ( ..) => PrevTokenKind :: Ident ,
931- _ => PrevTokenKind :: Other ,
932- } ;
933908 self . prev_span = self . unnormalized_prev_token ( ) . span ;
934909
935910 self . expected_tokens . clear ( ) ;
@@ -949,7 +924,6 @@ impl<'a> Parser<'a> {
949924 self . unnormalized_prev_token = self . unnormalized_token . take ( ) ;
950925
951926 // Update fields derived from the previous token.
952- self . prev_token_kind = PrevTokenKind :: Other ;
953927 self . prev_span = self . unnormalized_prev_token ( ) . span . with_hi ( span. lo ( ) ) ;
954928
955929 self . expected_tokens . clear ( ) ;
0 commit comments