]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: collector: Remove external container
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Fri, 23 Jun 2023 09:44:49 +0000 (11:44 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:46:31 +0000 (18:46 +0100)
The token collector was using an external container but it was later
revealed that this whole reuse thing was not necessary.

gcc/rust/ChangeLog:

* ast/rust-ast-collector.cc (TokenCollector::TokenCollector):
Remove constructor, changing it to an implicit default
constructor.
* ast/rust-ast-collector.h: Change from container reference to
direct container.
* ast/rust-ast-dump.h: Change call to constructor.
* expand/rust-macro-expand.h (struct MacroExpander): Likewise.

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

index f14cb355e9f4074fc3292bddba0a114e1df5bdcc..84caeb729b5315932edf53e329257efb0f2b2bdd 100644 (file)
 namespace Rust {
 namespace AST {
 
-TokenCollector::TokenCollector (std::vector<TokenPtr> &container)
-  : tokens (container)
-{}
-
 std::vector<TokenPtr>
 TokenCollector::collect_tokens () const
 {
index 1b314aca8c22bcac87a07a5408985353ee5c57ee..dc2840b3784d212160c5256c505e0a4a73bd6b2d 100644 (file)
@@ -30,7 +30,6 @@ namespace AST {
 class TokenCollector : public ASTVisitor
 {
 public:
-  TokenCollector (std::vector<TokenPtr> &container);
   bool output_trailing_commas = false;
 
   void visit (AST::Crate &crate);
@@ -39,7 +38,7 @@ public:
   std::vector<TokenPtr> collect_tokens () const;
 
 private:
-  std::vector<TokenPtr> &tokens;
+  std::vector<TokenPtr> tokens;
 
   /**
    * Visit all items in given @collection, placing the separator in between but
index c5b4ab125db4530dedaeb4ced913166113fd7872..ec72ba14c4adc7ab62e71e9986dbea1f38f4c5d4 100644 (file)
@@ -41,8 +41,7 @@ public:
 
   template <typename T> void process (T &v)
   {
-    std::vector<TokenPtr> container;
-    TokenCollector collector (container);
+    TokenCollector collector;
     collector.visit (v);
 
     auto tokens = collector.collect_tokens ();
index 378a7e25f509a18389611fa13fd8ab0f1b7e8e87..839c543c9541404ce6578afbeec018c730ce3ec3 100644 (file)
@@ -396,8 +396,7 @@ struct MacroExpander
          }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);
 
@@ -428,8 +427,7 @@ struct MacroExpander
          }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);
 
@@ -461,8 +459,7 @@ struct MacroExpander
          }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);