diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-06-11 11:34:16 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-06-11 11:34:16 +0800 |
commit | 52d872b36d7fda733273d70100d21b16506f1647 (patch) | |
tree | 5f192e2650a0f15893546d484fcc6537786e6a46 /src/parse/tokenstream.hpp | |
parent | c211c01437ce248d654b0d6ba9b739d1633cce68 (diff) | |
download | mrust-52d872b36d7fda733273d70100d21b16506f1647.tar.gz |
Parse - Support chaining of spans (for macro expansions)
Diffstat (limited to 'src/parse/tokenstream.hpp')
-rw-r--r-- | src/parse/tokenstream.hpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parse/tokenstream.hpp b/src/parse/tokenstream.hpp index 85fc62e2..5f2e0733 100644 --- a/src/parse/tokenstream.hpp +++ b/src/parse/tokenstream.hpp @@ -60,17 +60,19 @@ public: void putback(Token tok); eTokenType lookahead(unsigned int count); - virtual Position getPosition() const = 0; Ident::Hygiene getHygiene() const; ParseState& parse_state() { return m_parse_state; } ProtoSpan start_span() const; Span end_span(ProtoSpan ps) const; + Span point_span() const; Ident get_ident(Token tok) const; protected: + virtual Position getPosition() const = 0; + virtual ::std::shared_ptr<Span> outerSpan() const { return ::std::shared_ptr<Span>(0); } virtual Token realGetToken() = 0; virtual Ident::Hygiene realGetHygiene() const = 0; private: |