`BinOpToken` is badly named, because it only covers the assignable
binary ops and excludes comparisons and `&&`/`||`. Its use in
`ast::TokenKind` does allow a small amount of code sharing, but it's a
clumsy factoring.
This commit removes `ast::TokenKind::BinOp{,Eq}`, replacing each one
with 10 individual variants. This makes `ast::TokenKind` more similar to
`rustc_lexer::TokenKind`, which has individual variants for all
operators.
Although the number of lines of code increases, the number of chars
decreases due to the frequent use of shorter names like `token::Plus`
instead of `token::BinOp(BinOpToken::Plus)`.
|
||
|---|---|---|
| .. | ||
| mut_visit | ||
| tokenstream | ||
| attr.rs | ||
| attr_wrapper.rs | ||
| diagnostics.rs | ||
| expr.rs | ||
| generics.rs | ||
| item.rs | ||
| mod.rs | ||
| nonterminal.rs | ||
| pat.rs | ||
| path.rs | ||
| stmt.rs | ||
| tests.rs | ||
| token_type.rs | ||
| ty.rs | ||