aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-03-24 12:39:48 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:28:41 +0100
commit9761160120e96c4507e29f626f3333e0a97ab9f8 (patch)
treeca0caff390772663cef006b4ae90c9fe426f1d79
parentac0132918680200f265bf96fe87644a2cb81c22b (diff)
downloadgcc-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.cc11
-rw-r--r--gcc/rust/ast/rust-ast-tokenstream.h6
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;