aboutsummaryrefslogtreecommitdiff
path: root/nomsu.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nomsu.lua')
-rw-r--r--nomsu.lua41
1 files changed, 4 insertions, 37 deletions
diff --git a/nomsu.lua b/nomsu.lua
index 1231b57..e835562 100644
--- a/nomsu.lua
+++ b/nomsu.lua
@@ -277,28 +277,6 @@ do
elseif type(signature) ~= 'table' then
error("Invalid signature, expected list of strings, but got: " .. tostring(repr(signature)), 0)
end
- local stubs
- do
- local _accum_0 = { }
- local _len_0 = 1
- for _index_0 = 1, #signature do
- local alias = signature[_index_0]
- _accum_0[_len_0] = assert(stub_pattern:match(alias))
- _len_0 = _len_0 + 1
- end
- stubs = _accum_0
- end
- local stub_args
- do
- local _accum_0 = { }
- local _len_0 = 1
- for _index_0 = 1, #signature do
- local alias = signature[_index_0]
- _accum_0[_len_0] = assert(var_pattern:match(alias))
- _len_0 = _len_0 + 1
- end
- stub_args = _accum_0
- end
local fn_info = debug_getinfo(fn, "u")
assert(not fn_info.isvararg, "Vararg functions aren't supported. Sorry, use a list instead.")
local fn_arg_positions
@@ -313,14 +291,14 @@ do
for _index_0 = 1, #signature do
local alias = signature[_index_0]
local stub = assert(stub_pattern:match(alias))
- stub_args = assert(var_pattern:match(alias));
+ local stub_args = assert(var_pattern:match(alias));
(is_compile_action and self.environment.COMPILE_ACTIONS or self.environment.ACTIONS)[stub] = fn
do
local _accum_0 = { }
local _len_0 = 1
for _index_1 = 1, #stub_args do
local a = stub_args[_index_1]
- _accum_0[_len_0] = fn_arg_positions[self:var_to_lua_identifier(a)]
+ _accum_0[_len_0] = fn_arg_positions[Types.Var.as_lua_id(a)]
_len_0 = _len_0 + 1
end
arg_orders[stub] = _accum_0
@@ -428,6 +406,7 @@ do
local file = FILE_CACHE[lua_filename]
if file then
ret = self:run_lua(Lua(Source(filename), file))
+ remove(_running_files)
_continue_0 = true
break
end
@@ -515,7 +494,7 @@ do
do
local _tbl_0 = { }
for k, v in pairs(replacements) do
- _tbl_0[self:var_to_lua_identifier(k)] = v
+ _tbl_0[tostring(k:as_lua(self))] = v
end
replacements = _tbl_0
end
@@ -529,18 +508,6 @@ do
end
end)
end,
- var_to_lua_identifier = function(self, var)
- if Types.Var:is_instance(var) then
- var = var.value
- end
- return "_" .. (var:gsub("%W", function(verboten)
- if verboten == "_" then
- return "__"
- else
- return ("_%x"):format(verboten:byte())
- end
- end))
- end,
initialize_core = function(self)
local nomsu = self
self:define_compile_action("immediately %block", function(self, _block)