247 localinfo[id] = { -- new local variable object |
247 localinfo[id] = { -- new local variable object |
248 name = name, -- local variable name |
248 name = name, -- local variable name |
249 xref = { nameref }, -- xref, first value is declaration |
249 xref = { nameref }, -- xref, first value is declaration |
250 decl = nameref, -- location of declaration, = xref[1] |
250 decl = nameref, -- location of declaration, = xref[1] |
251 } |
251 } |
252 if special then -- "self" must be not be changed |
252 if special or name == "_ENV" then -- "self" must be not be changed |
253 localinfo[id].isself = true |
253 localinfo[id].preserve = true |
254 end |
254 end |
255 -- this can override a local with the same name in the same scope |
255 -- this can override a local with the same name in the same scope |
256 -- but first, keep it inactive until it gets activated |
256 -- but first, keep it inactive until it gets activated |
257 local i = #ilocalinfo + 1 |
257 local i = #ilocalinfo + 1 |
258 ilocalinfo[i] = id |
258 ilocalinfo[i] = id |