diff options
author | Sir Anthony <[email protected]> | 2014-02-05 21:18:09 +0600 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2014-03-08 01:29:00 -0800 |
commit | 433d562ac6b24b5e0ff63a682316be632dfc7053 (patch) | |
tree | f6224ee03952a8ad91a95c65ffc48fcfa3ddcf45 | |
parent | 6984aa43504bd9b68692872cd711af3931607576 (diff) |
glsl: Extend ast location structure to hande end token position.
Reviewed-by: Carl Worth <[email protected]>
-rw-r--r-- | src/glsl/ast.h | 22 | ||||
-rw-r--r-- | src/glsl/glsl_parser_extras.cpp | 6 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h index 1efb30679bb..8820993bdaa 100644 --- a/src/glsl/ast.h +++ b/src/glsl/ast.h @@ -75,10 +75,10 @@ public: struct YYLTYPE locp; locp.source = this->location.source; - locp.first_line = this->location.line; - locp.first_column = this->location.column; - locp.last_line = locp.first_line; - locp.last_column = locp.first_column; + locp.first_line = this->location.first_line; + locp.first_column = this->location.first_column; + locp.last_line = this->location.last_line; + locp.last_column = this->location.last_column; return locp; } @@ -91,17 +91,21 @@ public: void set_location(const struct YYLTYPE &locp) { this->location.source = locp.source; - this->location.line = locp.first_line; - this->location.column = locp.first_column; + this->location.first_line = locp.first_line; + this->location.first_column = locp.first_column; + this->location.last_line = locp.last_line; + this->location.last_column = locp.last_column; } /** * Source location of the AST node. */ struct { - unsigned source; /**< GLSL source number. */ - unsigned line; /**< Line number within the source string. */ - unsigned column; /**< Column in the line. */ + unsigned source; /**< GLSL source number. */ + unsigned first_line; /**< Line number within the source string. */ + unsigned first_column; /**< Column in the line. */ + unsigned last_line; /**< Line number within the source string. */ + unsigned last_column; /**< Column in the line. */ } location; exec_node link; diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index d7f5202fecd..61ae62150fe 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -807,8 +807,10 @@ ast_node::print(void) const ast_node::ast_node(void) { this->location.source = 0; - this->location.line = 0; - this->location.column = 0; + this->location.first_line = 0; + this->location.first_column = 0; + this->location.last_line = 0; + this->location.last_column = 0; } |