diff options
Diffstat (limited to 'gcc/rust/expand/rust-macro-invoc-lexer.cc')
-rw-r--r-- | gcc/rust/expand/rust-macro-invoc-lexer.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/rust/expand/rust-macro-invoc-lexer.cc b/gcc/rust/expand/rust-macro-invoc-lexer.cc index 8a43d29..321f0f9 100644 --- a/gcc/rust/expand/rust-macro-invoc-lexer.cc +++ b/gcc/rust/expand/rust-macro-invoc-lexer.cc @@ -26,4 +26,18 @@ MacroInvocLexer::split_current_token (TokenId new_left __attribute__ ((unused)), // FIXME gcc_unreachable (); } + +std::vector<std::unique_ptr<AST::Token>> +MacroInvocLexer::get_token_slice (size_t start_idx, size_t end_idx) const +{ + std::vector<std::unique_ptr<AST::Token>> slice; + + rust_assert (end_idx < token_stream.size ()); + + for (size_t i = start_idx; i < end_idx; i++) + slice.emplace_back (token_stream[i]->clone_token ()); + + return slice; +} + } // namespace Rust |