summaryrefslogtreecommitdiff
path: root/src/parse/ttstream.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/ttstream.hpp')
-rw-r--r--src/parse/ttstream.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parse/ttstream.hpp b/src/parse/ttstream.hpp
index 946cca5f..530a177b 100644
--- a/src/parse/ttstream.hpp
+++ b/src/parse/ttstream.hpp
@@ -15,14 +15,16 @@ class TTStream:
public TokenStream
{
::std::vector< ::std::pair<unsigned int, const TokenTree*> > m_stack;
+ ::std::shared_ptr<Span> m_parent_span;
const Ident::Hygiene* m_hygiene_ptr = nullptr;
public:
- TTStream(const TokenTree& input_tt);
+ TTStream(Span parent, const TokenTree& input_tt);
~TTStream();
TTStream& operator=(const TTStream& x) { m_stack = x.m_stack; return *this; }
Position getPosition() const override;
+ ::std::shared_ptr<Span> outerSpan() const override { return m_parent_span; }
protected:
Ident::Hygiene realGetHygiene() const override;
@@ -38,7 +40,8 @@ class TTStreamO:
::std::vector< ::std::pair<unsigned int, TokenTree*> > m_stack;
const Ident::Hygiene* m_hygiene_ptr = nullptr;
public:
- TTStreamO(TokenTree input_tt);
+ ::std::shared_ptr<Span> m_parent_span;
+ TTStreamO(Span parent, TokenTree input_tt);
TTStreamO(TTStreamO&& x) = default;
~TTStreamO();
@@ -46,6 +49,7 @@ public:
TTStreamO& operator=(TTStreamO&& x) = default;
Position getPosition() const override;
+ ::std::shared_ptr<Span> outerSpan() const override { return m_parent_span; }
protected:
Ident::Hygiene realGetHygiene() const override;