Skip to content

Commit a1265cf

Browse files
committed
misc cleanups
1 parent c7be4dc commit a1265cf

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

moonscript/compile/value.lua

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,8 @@ return {
296296
return self:line("not ", self:value(node[2]))
297297
end,
298298
self = function(self, node)
299-
if data.lua_keywords[node[2]] then
299+
local field_name = self:name(node[2])
300+
if data.lua_keywords[field_name] then
300301
return self:value({
301302
"chain",
302303
"self",
@@ -305,16 +306,17 @@ return {
305306
{
306307
"string",
307308
'"',
308-
self:name(node[2])
309+
field_name
309310
}
310311
}
311312
})
312313
else
313-
return "self." .. self:name(node[2])
314+
return "self." .. tostring(field_name)
314315
end
315316
end,
316317
self_class = function(self, node)
317-
if data.lua_keywords[node[2]] then
318+
local field_name = self:name(node[2])
319+
if data.lua_keywords[field_name] then
318320
return self:value({
319321
"chain",
320322
"self",
@@ -327,19 +329,19 @@ return {
327329
{
328330
"string",
329331
'"',
330-
self:name(node[2])
332+
field_name
331333
}
332334
}
333335
})
334336
else
335-
return "self.__class." .. self:name(node[2])
337+
return "self.__class." .. tostring(field_name)
336338
end
337339
end,
338340
self_colon = function(self, node)
339-
return "self:" .. self:name(node[2])
341+
return "self:" .. tostring(self:name(node[2]))
340342
end,
341343
self_class_colon = function(self, node)
342-
return "self.__class:" .. self:name(node[2])
344+
return "self.__class:" .. tostring(self:name(node[2]))
343345
end,
344346
ref = function(self, value)
345347
do

moonscript/compile/value.moon

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,26 +183,29 @@ string_chars = {
183183
@line "not ", @value node[2]
184184

185185
self: (node) =>
186-
if data.lua_keywords[node[2]]
186+
field_name = @name node[2]
187+
if data.lua_keywords[field_name]
187188
@value {"chain", "self", {"index", {
188-
"string", '"', @name node[2]
189+
"string", '"', field_name
189190
}}}
190191
else
191-
"self."..@name node[2]
192+
"self.#{field_name}"
192193

193194
self_class: (node) =>
194-
if data.lua_keywords[node[2]]
195+
field_name = @name node[2]
196+
197+
if data.lua_keywords[field_name]
195198
@value {"chain", "self", {"dot", "__class"}, {"index", {
196-
"string", '"', @name node[2]
199+
"string", '"', field_name
197200
}}}
198201
else
199-
"self.__class."..@name node[2]
202+
"self.__class.#{field_name}"
200203

201204
self_colon: (node) =>
202-
"self:"..@name node[2]
205+
"self:#{@name node[2]}"
203206

204207
self_class_colon: (node) =>
205-
"self.__class:"..@name node[2]
208+
"self.__class:#{@name node[2]}"
206209

207210
-- a variable reference
208211
ref: (value) =>

0 commit comments

Comments
 (0)