diff options
author | Li Jin <dragon-fly@qq.com> | 2017-07-19 10:01:27 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2017-07-19 10:01:27 +0800 |
commit | 2531792fa8da2a2f2ae218c43937f88028d26888 (patch) | |
tree | d06690cf05951897e6293f732226c205609ef4c3 /MoonParser/ast.hpp | |
parent | 21328c2299eebc03c13478d7d214f9ed58d9688e (diff) | |
download | yuescript-2531792fa8da2a2f2ae218c43937f88028d26888.tar.gz yuescript-2531792fa8da2a2f2ae218c43937f88028d26888.tar.bz2 yuescript-2531792fa8da2a2f2ae218c43937f88028d26888.zip |
adding codes.
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; |