diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-05-10 11:17:53 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-05-10 11:17:53 -0700 |
commit | 304ea90233baeac6801a98e981658cb7a2d2501c (patch) | |
tree | efe5c34816a7ec3ae1df2d6f47f7c7987ea94d3b /ast.h | |
parent | 752c905b8ca694df1e863d500653b386653c35e7 (diff) |
Convert ast_node use of simple_node to exec_list and exec_node
Diffstat (limited to 'ast.h')
-rw-r--r-- | ast.h | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -26,7 +26,6 @@ #ifndef AST_H #define AST_H -#include "main/simple_list.h" #include "list.h" #include "glsl_parser_extras.h" @@ -35,7 +34,7 @@ struct _mesa_glsl_parse_state; struct YYLTYPE; -class ast_node : public simple_node { +class ast_node { public: virtual ~ast_node(); virtual void print(void) const; @@ -81,6 +80,8 @@ public: unsigned column; } location; + exec_node link; + protected: ast_node(void); }; @@ -181,7 +182,7 @@ public: * List of expressions for an \c ast_sequence or parameters for an * \c ast_function_call */ - struct simple_node expressions; + exec_list expressions; }; class ast_expression_bin : public ast_expression { @@ -247,7 +248,7 @@ public: struct _mesa_glsl_parse_state *state); int new_scope; - struct simple_node statements; + exec_list statements; }; class ast_declaration : public ast_node { @@ -294,7 +295,7 @@ public: struct _mesa_glsl_parse_state *state); char *name; - struct simple_node declarations; + exec_list declarations; }; @@ -414,7 +415,7 @@ public: struct _mesa_glsl_parse_state *state); ast_fully_specified_type *type; - struct simple_node declarations; + exec_list declarations; /** * Special flag for vertex shader "invariant" declarations. @@ -439,7 +440,7 @@ public: int is_array; ast_expression *array_size; - static void parameters_to_hir(simple_node *ast_parameters, + static void parameters_to_hir(exec_list *ast_parameters, bool formal, exec_list *ir_parameters, struct _mesa_glsl_parse_state *state); @@ -468,7 +469,7 @@ public: ast_fully_specified_type *return_type; char *identifier; - struct simple_node parameters; + exec_list parameters; private: /** @@ -554,7 +555,7 @@ public: class ast_switch_statement : public ast_node { public: ast_expression *expression; - struct simple_node statements; + exec_list statements; }; class ast_iteration_statement : public ast_node { |