backup
This commit is contained in:
+2
-1
@@ -37,11 +37,12 @@ pool, pool_size, overflow_pool, tmp = {}, 0, setmetatable({}, {__mode='k'}), {}
|
|||||||
|
|
||||||
public.empty = setmetatable({}, {__metatable=false, __newindex=nop})
|
public.empty = setmetatable({}, {__metatable=false, __newindex=nop})
|
||||||
|
|
||||||
|
--select(1, 2, 3, END, kek()) -- TODO
|
||||||
do
|
do
|
||||||
local f = loadstring([[
|
local f = loadstring([[
|
||||||
local setmetatable, setn = setmetatable, table.setn
|
local setmetatable, setn = setmetatable, table.setn
|
||||||
return function(t)
|
return function(t)
|
||||||
]]..wipe_chunk..'return t end') -- like with a cloth or something
|
]]..wipe_chunk..'return t end')
|
||||||
setfenv(f, M)
|
setfenv(f, M)
|
||||||
public.wipe = f()
|
public.wipe = f()
|
||||||
end
|
end
|
||||||
|
|||||||
+3
-3
@@ -26,10 +26,10 @@ local function prototype() local eq = const(true)
|
|||||||
return setmetatable({__metatable=false, __eq=eq}, {__metatable=false, __eq=eq, __call=function(self, t) return setmetatable(t, self) end})
|
return setmetatable({__metatable=false, __eq=eq}, {__metatable=false, __eq=eq, __call=function(self, t) return setmetatable(t, self) end})
|
||||||
end
|
end
|
||||||
|
|
||||||
local state = {}
|
|
||||||
|
|
||||||
local INTERFACE, ENVIRONMENT, DECLARATOR = prototype(), prototype(), prototype()
|
local INTERFACE, ENVIRONMENT, DECLARATOR = prototype(), prototype(), prototype()
|
||||||
|
|
||||||
|
local state = {}
|
||||||
|
|
||||||
function INTERFACE:__index(key) self=state[self]
|
function INTERFACE:__index(key) self=state[self]
|
||||||
if self.access[key] == PUBLIC then
|
if self.access[key] == PUBLIC then
|
||||||
local getter = self[INDEX][key]
|
local getter = self[INDEX][key]
|
||||||
@@ -112,7 +112,7 @@ function module(name)
|
|||||||
access = {inspect=PRIVATE, _=PRIVATE, error=PRIVATE, nop=PRIVATE, _G=PRIVATE, M=PRIVATE, I=PRIVATE, public=PRIVATE, private=PRIVATE},
|
access = {inspect=PRIVATE, _=PRIVATE, error=PRIVATE, nop=PRIVATE, _G=PRIVATE, M=PRIVATE, I=PRIVATE, public=PRIVATE, private=PRIVATE},
|
||||||
[CALL] = {inspect=inspect, import=function(interface) import(self, interface) end, error=error, nop=nop},
|
[CALL] = {inspect=inspect, import=function(interface) import(self, interface) end, error=error, nop=nop},
|
||||||
[INDEX] = {_G=const(_G), M=const(env), I=const(interface), public=function() return declarator.public end, private=function() return declarator.private end},
|
[INDEX] = {_G=const(_G), M=const(env), I=const(interface), public=function() return declarator.public end, private=function() return declarator.private end},
|
||||||
[NEWINDEX] = {_=nop},
|
[NEWINDEX] = {inspect=inspect, _=nop},
|
||||||
declarator = declarator,
|
declarator = declarator,
|
||||||
default_access = PRIVATE,
|
default_access = PRIVATE,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -517,7 +517,7 @@ function create_frames()
|
|||||||
if filter_util.filters[text] and filter_util.filters[text].input_type ~= '' then
|
if filter_util.filters[text] and filter_util.filters[text].input_type ~= '' then
|
||||||
local _, _, suggestions = filter_util.parse_filter_string(text..'/')
|
local _, _, suggestions = filter_util.parse_filter_string(text..'/')
|
||||||
filter_parameter_input:SetNumeric(filter_util.filters[text].input_type == 'number')
|
filter_parameter_input:SetNumeric(filter_util.filters[text].input_type == 'number')
|
||||||
filter_parameter_input.complete = completion.complete(function() return suggestions or O end)
|
filter_parameter_input.complete = completion.complete(function() return suggestions or empty end)
|
||||||
filter_parameter_input:Show()
|
filter_parameter_input:Show()
|
||||||
else
|
else
|
||||||
filter_parameter_input:Hide()
|
filter_parameter_input:Hide()
|
||||||
|
|||||||
Reference in New Issue
Block a user