aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/LuaSL/LuaSL_LSL_tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/LuaSL/LuaSL_LSL_tree.h')
-rw-r--r--src/LuaSL/LuaSL_LSL_tree.h17
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
238struct _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
238struct _LSL_Statement 246struct _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
280struct _LSL_FunctionCall 288struct _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;