From 36e197f903ba19229b35cdd7c5bea045ca34dcdc Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 25 Sep 2016 21:23:07 +0800 Subject: Parse+AST - Support capturing :item (requires cloning AST items) --- src/ast/expr.hpp | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) (limited to 'src/ast/expr.hpp') diff --git a/src/ast/expr.hpp b/src/ast/expr.hpp index 0d503b81..00c1154b 100644 --- a/src/ast/expr.hpp +++ b/src/ast/expr.hpp @@ -40,11 +40,9 @@ public: MetaItems& attrs() { return m_attrs; } TypeRef& get_res_type() { return m_res_type; } - - friend ::std::ostream& operator<<(::std::ostream& os, const ExprNode& node); static ::std::unique_ptr from_deserialiser(Deserialiser& d); }; -typedef ::std::unique_ptr ExprNodeP; +typedef ::std::unique_ptr ExprNodeP; #define NODE_METHODS() \ void visit(NodeVisitor& nv) override;\ @@ -685,33 +683,6 @@ public: #undef NT }; -class Expr -{ - ::std::shared_ptr m_node; -public: - Expr(unique_ptr node): - m_node(node.release()) - { - } - Expr(ExprNode* node): - m_node(node) - { - } - Expr(): - m_node(nullptr) - { - } - - bool is_valid() const { return m_node.get() != nullptr; } - ExprNode& node() { assert(m_node.get()); return *m_node; } - const ExprNode& node() const { assert(m_node.get()); return *m_node; } - ::std::shared_ptr take_node() { assert(m_node.get()); return ::std::move(m_node); } - void visit_nodes(NodeVisitor& v); - void visit_nodes(NodeVisitor& v) const; - - friend ::std::ostream& operator<<(::std::ostream& os, const Expr& pat); -}; - } #endif -- cgit v1.2.3