summaryrefslogtreecommitdiff
path: root/ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'ast.h')
-rw-r--r--ast.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/ast.h b/ast.h
index b04cf75c37..59bc4fb0b5 100644
--- a/ast.h
+++ b/ast.h
@@ -37,6 +37,8 @@ class ast_node : public simple_node {
public:
virtual ~ast_node();
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
/**
* Retrieve the source location of an AST node
@@ -149,6 +151,9 @@ public:
static const char *operator_string(enum ast_operators op);
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
virtual void print(void) const;
enum ast_operators oper;
@@ -193,6 +198,9 @@ public:
ast_compound_statement(int new_scope, ast_node *statements);
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
int new_scope;
struct simple_node statements;
};
@@ -330,6 +338,9 @@ public:
ast_declarator_list(ast_fully_specified_type *);
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
ast_fully_specified_type *type;
struct simple_node declarations;
@@ -348,6 +359,9 @@ class ast_parameter_declarator : public ast_node {
public:
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
ast_fully_specified_type *type;
char *identifier;
int is_array;
@@ -392,6 +406,9 @@ public:
ast_expression_statement(ast_expression *);
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
ast_expression *expression;
};
@@ -466,6 +483,9 @@ class ast_function_definition : public ast_node {
public:
virtual void print(void) const;
+ virtual ir_instruction *hir(struct simple_node *instructions,
+ struct _mesa_glsl_parse_state *state);
+
ast_function *prototype;
ast_compound_statement *body;
};