diff options
Diffstat (limited to '')
-rw-r--r-- | src/LuaSL/LuaSL_LSL_tree.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/LuaSL/LuaSL_LSL_tree.h b/src/LuaSL/LuaSL_LSL_tree.h index 26d63b1..e7c5e36 100644 --- a/src/LuaSL/LuaSL_LSL_tree.h +++ b/src/LuaSL/LuaSL_LSL_tree.h | |||
@@ -235,6 +235,14 @@ struct _LSL_Identifier // For variables and function parameters. | |||
235 | miscFlags flags; | 235 | miscFlags flags; |
236 | }; | 236 | }; |
237 | 237 | ||
238 | struct _LSL_DanglingVar | ||
239 | { | ||
240 | Eina_Clist dangler; // Entry for variables used before they are defined. | ||
241 | LSL_Leaf *identifier; | ||
242 | LSL_Leaf *dot; | ||
243 | LSL_Leaf *sub; | ||
244 | }; | ||
245 | |||
238 | struct _LSL_Statement | 246 | struct _LSL_Statement |
239 | { | 247 | { |
240 | Eina_Clist statement; // For block statement lists, this is the entry. | 248 | Eina_Clist statement; // For block statement lists, this is the entry. |
@@ -272,7 +280,7 @@ struct _LSL_Function | |||
272 | // LSL_Leaf *params; // So we store the parenthesis, and their ignorables. | 280 | // LSL_Leaf *params; // So we store the parenthesis, and their ignorables. |
273 | // This points to the params leaf, which is a function, pointing to this structure. The actual params are in vars. | 281 | // This points to the params leaf, which is a function, pointing to this structure. The actual params are in vars. |
274 | #endif | 282 | #endif |
275 | Eina_Inarray vars; // Eina Inarray has not been released yet (Eina 1.2). | 283 | Eina_Inarray vars; |
276 | LSL_Block *block; | 284 | LSL_Block *block; |
277 | miscFlags flags; | 285 | miscFlags flags; |
278 | }; | 286 | }; |
@@ -280,7 +288,7 @@ struct _LSL_Function | |||
280 | struct _LSL_FunctionCall | 288 | struct _LSL_FunctionCall |
281 | { | 289 | { |
282 | LSL_Function *function; | 290 | LSL_Function *function; |
283 | Eina_Inarray params; // Eina Inarray has not been released yet (Eina 1.2). | 291 | Eina_Inarray params; |
284 | Eina_Clist dangler; // Entry for function calls used before the function is defined. | 292 | Eina_Clist dangler; // Entry for function calls used before the function is defined. |
285 | LSL_Leaf *call; // This is to stash the details for dangling ones, to search later. | 293 | LSL_Leaf *call; // This is to stash the details for dangling ones, to search later. |
286 | // The line and column details are needed for bitching, so we need the leaf. | 294 | // The line and column details are needed for bitching, so we need the leaf. |
@@ -386,8 +394,9 @@ typedef struct | |||
386 | LSL_Block *currentBlock; | 394 | LSL_Block *currentBlock; |
387 | LSL_Function *currentFunction; | 395 | LSL_Function *currentFunction; |
388 | Eina_Clist danglingCalls; // HEAD for function calls used before the function is defined. | 396 | Eina_Clist danglingCalls; // HEAD for function calls used before the function is defined. |
389 | int column, line; | 397 | Eina_Clist danglingVars; // HEAD for variable refs used before the variable is defined. |
390 | int undeclared; | 398 | int column, line, pass; |
399 | boolean undeclared; | ||
391 | boolean inState; | 400 | boolean inState; |
392 | boolean isLSL; | 401 | boolean isLSL; |
393 | boolean isLua; | 402 | boolean isLua; |