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>
namespace Rust {
namespace AST {
-TokenCollector::TokenCollector (std::vector<TokenPtr> &container)
- : tokens (container)
-{}
-
std::vector<TokenPtr>
TokenCollector::collect_tokens () const
{
class TokenCollector : public ASTVisitor
{
public:
- TokenCollector (std::vector<TokenPtr> &container);
bool output_trailing_commas = false;
void visit (AST::Crate &crate);
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
template <typename T> void process (T &v)
{
- std::vector<TokenPtr> container;
- TokenCollector collector (container);
+ TokenCollector collector;
collector.visit (v);
auto tokens = collector.collect_tokens ();
}
}
- std::vector<TokenPtr> tokens;
- AST::TokenCollector collector (tokens);
+ AST::TokenCollector collector;
collector.visit (item);
}
}
- std::vector<TokenPtr> tokens;
- AST::TokenCollector collector (tokens);
+ AST::TokenCollector collector;
collector.visit (item);
}
}
- std::vector<TokenPtr> tokens;
- AST::TokenCollector collector (tokens);
+ AST::TokenCollector collector;
collector.visit (item);