Use common variants for open and close delimiters
This common representation for delimeters should make pattern matching easier. Having a separate `token::DelimToken` enum also allows us to enforce the invariant that the opening and closing delimiters must be the same in `ast::TtDelimited`, removing the need to ensure matched delimiters when working with token trees.
This commit is contained in:
@@ -967,12 +967,12 @@ impl<'a> StringReader<'a> {
|
||||
token::Dot
|
||||
};
|
||||
}
|
||||
'(' => { self.bump(); return token::LParen; }
|
||||
')' => { self.bump(); return token::RParen; }
|
||||
'{' => { self.bump(); return token::LBrace; }
|
||||
'}' => { self.bump(); return token::RBrace; }
|
||||
'[' => { self.bump(); return token::LBracket; }
|
||||
']' => { self.bump(); return token::RBracket; }
|
||||
'(' => { self.bump(); return token::OpenDelim(token::Paren); }
|
||||
')' => { self.bump(); return token::CloseDelim(token::Paren); }
|
||||
'{' => { self.bump(); return token::OpenDelim(token::Brace); }
|
||||
'}' => { self.bump(); return token::CloseDelim(token::Brace); }
|
||||
'[' => { self.bump(); return token::OpenDelim(token::Bracket); }
|
||||
']' => { self.bump(); return token::CloseDelim(token::Bracket); }
|
||||
'@' => { self.bump(); return token::At; }
|
||||
'#' => { self.bump(); return token::Pound; }
|
||||
'~' => { self.bump(); return token::Tilde; }
|
||||
|
||||
Reference in New Issue
Block a user