aboutsummaryrefslogtreecommitdiff
path: root/lparser.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-10-08 10:42:07 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-10-08 10:42:07 -0300
commit4cd1f4aac01184765818e0cebf02da454ccf6590 (patch)
treec7e6398095afccc9987ed42598477094b6ee2aa6 /lparser.h
parentb114c7d4871051cbdd7af185a61f35fe4028da79 (diff)
downloadlua-4cd1f4aac01184765818e0cebf02da454ccf6590.tar.gz
lua-4cd1f4aac01184765818e0cebf02da454ccf6590.tar.bz2
lua-4cd1f4aac01184765818e0cebf02da454ccf6590.zip
Towards "to closed" local variables
Start of the implementation of "scoped variables" or "to be closed" variables, local variables whose '__close' (or themselves) are called when they go out of scope. This commit implements the syntax, the opcode, and the creation of the corresponding upvalue, but it still does not call the finalizations when the variable goes out of scope (the most important part). Currently, the syntax is 'local scoped name = exp', but that will probably change.
Diffstat (limited to 'lparser.h')
-rw-r--r--lparser.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lparser.h b/lparser.h
index e158c9d9..1b94a97a 100644
--- a/lparser.h
+++ b/lparser.h
@@ -133,6 +133,7 @@ typedef struct FuncState {
133 lu_byte nups; /* number of upvalues */ 133 lu_byte nups; /* number of upvalues */
134 lu_byte freereg; /* first free register */ 134 lu_byte freereg; /* first free register */
135 lu_byte iwthabs; /* instructions issued since last absolute line info */ 135 lu_byte iwthabs; /* instructions issued since last absolute line info */
136 lu_byte needclose; /* function needs to close upvalues when returning */
136} FuncState; 137} FuncState;
137 138
138 139