summaryrefslogtreecommitdiff
path: root/src/ast/expr.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/expr.hpp')
-rw-r--r--src/ast/expr.hpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ast/expr.hpp b/src/ast/expr.hpp
index 95f74505..eab6f260 100644
--- a/src/ast/expr.hpp
+++ b/src/ast/expr.hpp
@@ -28,8 +28,8 @@ public:
virtual ~ExprNode() = 0;
virtual void visit(NodeVisitor& nv) = 0;
- //virtual void visit(NodeVisitor& nv) const = 0;
virtual void print(::std::ostream& os) const = 0;
+ virtual ::std::unique_ptr<ExprNode> clone() const = 0;
void set_pos(Position p) { m_pos = ::std::move(p); }
const Position& get_pos() const { return m_pos; }
@@ -46,10 +46,10 @@ public:
};
#define NODE_METHODS() \
- virtual void visit(NodeVisitor& nv) override;\
- virtual void print(::std::ostream& os) const override; \
- SERIALISABLE_PROTOTYPES();/* \
- virtual void visit(NodeVisitor& nv) const override;*/
+ void visit(NodeVisitor& nv) override;\
+ void print(::std::ostream& os) const override; \
+ ::std::unique_ptr<ExprNode> clone() const override; \
+ SERIALISABLE_PROTOTYPES();
struct ExprNode_Block:
public ExprNode