diff --git a/AstNode.h b/AstNode.h index 7687e9e..301979c 100644 --- a/AstNode.h +++ b/AstNode.h @@ -30,7 +30,7 @@ class Node { const yy::location &getLocation() const { return location_; } - virtual void accept(visitor::AstVisitor *visitor) = 0; + virtual void accept(visitor::AstVisitor *visitor) const = 0; }; } diff --git a/ast/cxx.py b/ast/cxx.py index e9a8e5c..173f768 100644 --- a/ast/cxx.py +++ b/ast/cxx.py @@ -77,7 +77,7 @@ def end_type(self, name): self._print_noncopyable() print >> self._deferredOutput self._print_getters() - print >> self._deferredOutput, ' void accept(visitor::AstVisitor *visitor) override;' + print >> self._deferredOutput, ' void accept(visitor::AstVisitor *visitor) const override;' print >> self._deferredOutput, '};' print >> self._deferredOutput print >> self._deferredOutput diff --git a/ast/cxx_impl.py b/ast/cxx_impl.py index 3a5607f..982e5ad 100644 --- a/ast/cxx_impl.py +++ b/ast/cxx_impl.py @@ -28,7 +28,7 @@ def end_file(self): print '}' def start_type(self, name): - print '''void %s::accept(visitor::AstVisitor *visitor) { + print '''void %s::accept(visitor::AstVisitor *visitor) const { if (visitor->visit%s(*this)) { ''' % (name, name)