diff options
Diffstat (limited to 'MoonParser/ast.hpp')
-rw-r--r-- | MoonParser/ast.hpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/MoonParser/ast.hpp b/MoonParser/ast.hpp index 01e2350..a9c2db7 100644 --- a/MoonParser/ast.hpp +++ b/MoonParser/ast.hpp | |||
@@ -69,6 +69,8 @@ public: | |||
69 | virtual void visit(void* user_data) {} | 69 | virtual void visit(void* user_data) {} |
70 | 70 | ||
71 | virtual int get_type() { return ast_type<ast_node>(); } | 71 | virtual int get_type() { return ast_type<ast_node>(); } |
72 | |||
73 | virtual ast_node* get_flattened() { return this; } | ||
72 | private: | 74 | private: |
73 | //parent | 75 | //parent |
74 | ast_node *m_parent; | 76 | ast_node *m_parent; |
@@ -82,7 +84,7 @@ private: | |||
82 | template<class T> | 84 | template<class T> |
83 | T* ast_cast(ast_node *node) | 85 | T* ast_cast(ast_node *node) |
84 | { | 86 | { |
85 | return ast_type<T>() == node->get_type() ? static_cast<T*>(node) : nullptr; | 87 | return node && ast_type<T>() == node->get_type() ? static_cast<T*>(node) : nullptr; |
86 | } | 88 | } |
87 | 89 | ||
88 | class ast_member; | 90 | class ast_member; |