]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: ast: Add trailing comma formatting option
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 22 Mar 2023 13:39:34 +0000 (14:39 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:28:40 +0000 (18:28 +0100)
Add an option to output trailing commas depending on the configuration
of the TokenStream.

gcc/rust/ChangeLog:

* ast/rust-ast-tokenstream.cc (TokenStream::trailing_comma):
Output a trailing comma to the token stream according to the
configuration.
* ast/rust-ast-tokenstream.h: Add function prototype.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/ast/rust-ast-tokenstream.cc
gcc/rust/ast/rust-ast-tokenstream.h

index a7fee13a1aeacc219b481c730e38c52ddc081b37..d68c19a44fed445a2a20b3df2c165c8b46a9a6f1 100644 (file)
@@ -92,6 +92,15 @@ TokenStream::visit_items_as_block (T &collection,
   tokens.push_back (Rust::Token::make (right_brace, Location ()));
 }
 
+void
+TokenStream::trailing_comma ()
+{
+  if (output_trailing_commas)
+    {
+      tokens.push_back (Rust::Token::make (COMMA, Location ()));
+    }
+}
+
 void
 TokenStream::visit (FunctionParam &param)
 {
index 70ef24637ff8761bc6eef86dc82925620801d6cb..58459c6317a5fe540fb9fd90d61f4a3c184d7d56 100644 (file)
@@ -31,6 +31,7 @@ class TokenStream : public ASTVisitor
 {
 public:
   TokenStream (std::vector<TokenPtr> &container);
+  bool output_trailing_commas = false;
 
   void go (AST::Crate &crate);
   void go (AST::Item &item);
@@ -86,6 +87,7 @@ private:
                             TokenId left_brace = LEFT_CURLY,
                             TokenId right_brace = RIGHT_CURLY);
 
+  void trailing_comma ();
   /**
    * Visit common items of functions: Parameters, return type, block
    */