summaryrefslogtreecommitdiff
path: root/src/parse/tokenstream.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-06-11 11:34:16 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-06-11 11:34:16 +0800
commit52d872b36d7fda733273d70100d21b16506f1647 (patch)
tree5f192e2650a0f15893546d484fcc6537786e6a46 /src/parse/tokenstream.hpp
parentc211c01437ce248d654b0d6ba9b739d1633cce68 (diff)
downloadmrust-52d872b36d7fda733273d70100d21b16506f1647.tar.gz
Parse - Support chaining of spans (for macro expansions)
Diffstat (limited to 'src/parse/tokenstream.hpp')
-rw-r--r--src/parse/tokenstream.hpp4
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: