diff options
author | Mike Pall <mike> | 2012-10-24 13:12:37 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-10-24 13:12:37 +0200 |
commit | f874452ddb9d094e1ed845e835bf11fc26216e51 (patch) | |
tree | 0a2828aa36c08b0b30f7cb6695fd1c355c79fcb2 /etc | |
parent | 1fef908a0f8c30bf3cfc1889312ee7dee3556c52 (diff) | |
download | luajit2-f874452ddb9d094e1ed845e835bf11fc26216e51.tar.gz |
Remove strict.lua.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/strict.lua | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/etc/strict.lua b/etc/strict.lua deleted file mode 100644 index e57b0cc1..00000000 --- a/etc/strict.lua +++ /dev/null @@ -1,41 +0,0 @@ --- --- strict.lua --- checks uses of undeclared global variables --- All global variables must be 'declared' through a regular assignment --- (even assigning nil will do) in a main chunk before being used --- anywhere or assigned to inside a function. --- - -local getinfo, error, rawset, rawget = debug.getinfo, error, rawset, rawget - -local mt = getmetatable(_G) -if mt == nil then - mt = {} - setmetatable(_G, mt) -end - -mt.__declared = {} - -local function what () - local d = getinfo(3, "S") - return d and d.what or "C" -end - -mt.__newindex = function (t, n, v) - if not mt.__declared[n] then - local w = what() - if w ~= "main" and w ~= "C" then - error("assign to undeclared variable '"..n.."'", 2) - end - mt.__declared[n] = true - end - rawset(t, n, v) -end - -mt.__index = function (t, n) - if not mt.__declared[n] and what() ~= "C" then - error("variable '"..n.."' is not declared", 2) - end - return rawget(t, n) -end - |