aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-04-27 13:24:40 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2023-05-11 09:38:20 +0200
commitfb2a8509d7a3dc7c1afa55f6f63770a736dd5dde (patch)
tree147336bbf7a8daf8f276900a4ed7fef7083b66b8
parentb49c70be23e2a61324aa3e559b46423a560f4289 (diff)
downloadgcc-fb2a8509d7a3dc7c1afa55f6f63770a736dd5dde.zip
gcc-fb2a8509d7a3dc7c1afa55f6f63770a736dd5dde.tar.gz
gcc-fb2a8509d7a3dc7c1afa55f6f63770a736dd5dde.tar.bz2
tokenstream: Convert single punctuation tokens
Add the code to convert single punctuation tokens to a tokenstream element. gcc/rust/ChangeLog: * ast/rust-ast-tokenstream.cc (TokenStream::collect): Add conversion for single punctuation tokens. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--gcc/rust/ast/rust-ast-tokenstream.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-ast-tokenstream.cc b/gcc/rust/ast/rust-ast-tokenstream.cc
index 417c0f3..1342921 100644
--- a/gcc/rust/ast/rust-ast-tokenstream.cc
+++ b/gcc/rust/ast/rust-ast-tokenstream.cc
@@ -50,6 +50,33 @@ TokenStream::collect () const
{
switch (token->get_id ())
{
+ // Alone punct tokens
+ case EQUAL:
+ case RIGHT_ANGLE:
+ case LEFT_ANGLE:
+ case EXCLAM:
+ case TILDE:
+ case PLUS:
+ case MINUS:
+ case ASTERISK:
+ case DIV:
+ case PERCENT:
+ case CARET:
+ case AMP:
+ case PIPE:
+ case PATTERN_BIND:
+ case DOT:
+ case COMMA:
+ case SEMICOLON:
+ case COLON:
+ case HASH:
+ case DOLLAR_SIGN:
+ case QUESTION_MARK:
+ case SINGLE_QUOTE:
+ trees.back ().push (ProcMacro::TokenTree::make_tokentree (
+ ProcMacro::Punct::make_punct (token->as_string ()[0],
+ ProcMacro::ALONE)));
+ break;
case RIGHT_PAREN:
pop_group (trees, ProcMacro::PARENTHESIS);
break;