[gcc r14-7427] gccrs: ast: Add TokenStream collect function

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:33:49 GMT 2024


https://gcc.gnu.org/g:9761160120e96c4507e29f626f3333e0a97ab9f8

commit r14-7427-g9761160120e96c4507e29f626f3333e0a97ab9f8
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Fri Mar 24 12:39:48 2023 +0100

    gccrs: ast: Add TokenStream collect function
    
    Add a function to TokenStream to collect in a single vector all tokens.
    
    gcc/rust/ChangeLog:
    
            * ast/rust-ast-tokenstream.cc (TokenStream::collect_tokens): Add
            getter.
            (TokenStream::go): Rename function.
            (TokenStream::visit): Likewise.
            * ast/rust-ast-tokenstream.h: Add collect prototype.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Diff:
---
 gcc/rust/ast/rust-ast-tokenstream.cc | 11 +++++++++--
 gcc/rust/ast/rust-ast-tokenstream.h  |  6 ++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/gcc/rust/ast/rust-ast-tokenstream.cc b/gcc/rust/ast/rust-ast-tokenstream.cc
index bbc01a274ee..95ded2481ae 100644
--- a/gcc/rust/ast/rust-ast-tokenstream.cc
+++ b/gcc/rust/ast/rust-ast-tokenstream.cc
@@ -19,14 +19,21 @@
 
 namespace Rust {
 namespace AST {
+
+std::vector<TokenPtr>
+TokenStream::collect_tokens () const
+{
+  return tokens;
+}
+
 void
-TokenStream::go (AST::Crate &crate)
+TokenStream::visit (AST::Crate &crate)
 {
   visit_items_as_lines (crate.items);
 }
 
 void
-TokenStream::go (AST::Item &item)
+TokenStream::visit (AST::Item &item)
 {
   item.accept_vis (*this);
 }
diff --git a/gcc/rust/ast/rust-ast-tokenstream.h b/gcc/rust/ast/rust-ast-tokenstream.h
index 29be91eb1d9..e5803350bba 100644
--- a/gcc/rust/ast/rust-ast-tokenstream.h
+++ b/gcc/rust/ast/rust-ast-tokenstream.h
@@ -33,8 +33,10 @@ public:
   TokenStream (std::vector<TokenPtr> &container);
   bool output_trailing_commas = false;
 
-  void go (AST::Crate &crate);
-  void go (AST::Item &item);
+  void visit (AST::Crate &crate);
+  void visit (AST::Item &item);
+
+  std::vector<TokenPtr> collect_tokens () const;
 
 private:
   std::vector<TokenPtr> &tokens;


More information about the Gcc-cvs mailing list