diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-04-10 10:11:05 +0200 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-04-10 16:10:28 +0200 |
| commit | c8b4c36f8161d34c8145a49965efee4514275989 (patch) | |
| tree | 3b0a50994d76571cdfb2318f2799e6161962974c /xtask/src/codegen | |
| parent | f89f2e38855f5b47f68758e98139aa962cb7a01d (diff) | |
| download | rust-c8b4c36f8161d34c8145a49965efee4514275989.tar.gz rust-c8b4c36f8161d34c8145a49965efee4514275989.zip | |
Semicolon token
Diffstat (limited to 'xtask/src/codegen')
| -rw-r--r-- | xtask/src/codegen/gen_syntax.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs index c4fb29bbfa6..26f541da100 100644 --- a/xtask/src/codegen/gen_syntax.rs +++ b/xtask/src/codegen/gen_syntax.rs @@ -515,7 +515,7 @@ impl Field<'_> { fn token_kind(&self) -> Option<proc_macro2::TokenStream> { let res = match self { Field::Token(token) => { - let token = format_ident!("{}", token); + let token: proc_macro2::TokenStream = token.parse().unwrap(); quote! { T![#token] } } _ => return None, @@ -524,7 +524,13 @@ impl Field<'_> { } fn method_name(&self) -> proc_macro2::Ident { match self { - Field::Token(name) => format_ident!("{}_token", name), + Field::Token(name) => { + let name = match *name { + ";" => "semicolon", + _ => name, + }; + format_ident!("{}_token", name) + } Field::Node { name, src } => match src { FieldSrc::Shorthand => format_ident!("{}", to_lower_snake_case(name)), _ => format_ident!("{}", name), |
