This commit is contained in:
Edwin Cheng 2019-04-05 03:54:18 +08:00
parent c23408751c
commit 6ff16c7ad9

View file

@ -231,48 +231,48 @@ impl TtTokenSource {
{ {
if let Some((m, is_joint_to_next)) = iter.current_punct3(p) { if let Some((m, is_joint_to_next)) = iter.current_punct3(p) {
if let Some((kind, text)) = match m { if let Some((kind, text)) = match m {
('<', '<', '=') => Some((SHLEQ, "<<=".into())), ('<', '<', '=') => Some((SHLEQ, "<<=")),
('>', '>', '=') => Some((SHREQ, ">>=".into())), ('>', '>', '=') => Some((SHREQ, ">>=")),
('.', '.', '.') => Some((DOTDOTDOT, "...".into())), ('.', '.', '.') => Some((DOTDOTDOT, "...")),
('.', '.', '=') => Some((DOTDOTEQ, "..=".into())), ('.', '.', '=') => Some((DOTDOTEQ, "..=")),
_ => None, _ => None,
} { } {
iter.next(); iter.next();
iter.next(); iter.next();
return Some(TtToken { kind, is_joint_to_next, text }); return Some(TtToken { kind, is_joint_to_next, text: text.into() });
} }
} }
if let Some((m, is_joint_to_next)) = iter.current_punct2(p) { if let Some((m, is_joint_to_next)) = iter.current_punct2(p) {
if let Some((kind, text)) = match m { if let Some((kind, text)) = match m {
('<', '<') => Some((SHL, "<<".into())), ('<', '<') => Some((SHL, "<<")),
('>', '>') => Some((SHR, ">>".into())), ('>', '>') => Some((SHR, ">>")),
('|', '|') => Some((PIPEPIPE, "||".into())), ('|', '|') => Some((PIPEPIPE, "||")),
('&', '&') => Some((AMPAMP, "&&".into())), ('&', '&') => Some((AMPAMP, "&&")),
('%', '=') => Some((PERCENTEQ, "%=".into())), ('%', '=') => Some((PERCENTEQ, "%=")),
('*', '=') => Some((STAREQ, "*=".into())), ('*', '=') => Some((STAREQ, "*=")),
('/', '=') => Some((SLASHEQ, "/=".into())), ('/', '=') => Some((SLASHEQ, "/=")),
('^', '=') => Some((CARETEQ, "^=".into())), ('^', '=') => Some((CARETEQ, "^=")),
('&', '=') => Some((AMPEQ, "&=".into())), ('&', '=') => Some((AMPEQ, "&=")),
('|', '=') => Some((PIPEEQ, "|=".into())), ('|', '=') => Some((PIPEEQ, "|=")),
('-', '=') => Some((MINUSEQ, "-=".into())), ('-', '=') => Some((MINUSEQ, "-=")),
('+', '=') => Some((PLUSEQ, "+=".into())), ('+', '=') => Some((PLUSEQ, "+=")),
('>', '=') => Some((GTEQ, ">=".into())), ('>', '=') => Some((GTEQ, ">=")),
('<', '=') => Some((LTEQ, "<=".into())), ('<', '=') => Some((LTEQ, "<=")),
('-', '>') => Some((THIN_ARROW, "->".into())), ('-', '>') => Some((THIN_ARROW, "->")),
('!', '=') => Some((NEQ, "!=".into())), ('!', '=') => Some((NEQ, "!=")),
('=', '>') => Some((FAT_ARROW, "=>".into())), ('=', '>') => Some((FAT_ARROW, "=>")),
('=', '=') => Some((EQEQ, "==".into())), ('=', '=') => Some((EQEQ, "==")),
('.', '.') => Some((DOTDOT, "..".into())), ('.', '.') => Some((DOTDOT, "..")),
(':', ':') => Some((COLONCOLON, "::".into())), (':', ':') => Some((COLONCOLON, "::")),
_ => None, _ => None,
} { } {
iter.next(); iter.next();
return Some(TtToken { kind, is_joint_to_next, text }); return Some(TtToken { kind, is_joint_to_next, text: text.into() });
} }
} }