diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-03-24 12:39:48 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:28:41 +0100 |
commit | 9761160120e96c4507e29f626f3333e0a97ab9f8 (patch) | |
tree | ca0caff390772663cef006b4ae90c9fe426f1d79 | |
parent | ac0132918680200f265bf96fe87644a2cb81c22b (diff) | |
download | gcc-9761160120e96c4507e29f626f3333e0a97ab9f8.zip gcc-9761160120e96c4507e29f626f3333e0a97ab9f8.tar.gz gcc-9761160120e96c4507e29f626f3333e0a97ab9f8.tar.bz2 |
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>
-rw-r--r-- | gcc/rust/ast/rust-ast-tokenstream.cc | 11 | ||||
-rw-r--r-- | 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 bbc01a2..95ded24 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 29be91e..e580335 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; |