rufus-lua-moon 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,6 +19,10 @@ local cascading = Set({
19
19
  "class",
20
20
  "do"
21
21
  })
22
+ local terminating = Set({
23
+ "return",
24
+ "break"
25
+ })
22
26
  local ntype
23
27
  ntype = function(node)
24
28
  local _exp_0 = type(node)
@@ -41,14 +45,12 @@ do
41
45
  return moon_type(val)
42
46
  end
43
47
  end
44
- local has_value
45
- has_value = function(node)
46
- if ntype(node) == "chain" then
47
- local ctype = ntype(node[#node])
48
- return ctype ~= "call" and ctype ~= "colon"
49
- else
50
- return true
48
+ local value_can_be_statement
49
+ value_can_be_statement = function(node)
50
+ if not (ntype(node) == "chain") then
51
+ return false
51
52
  end
53
+ return ntype(node[#node]) == "call"
52
54
  end
53
55
  local is_value
54
56
  is_value = function(stm)
@@ -56,10 +58,6 @@ is_value = function(stm)
56
58
  local transform = require("moonscript.transform")
57
59
  return compile.Block:is_value(stm) or transform.Value:can_transform(stm)
58
60
  end
59
- local comprehension_has_value
60
- comprehension_has_value = function(comp)
61
- return is_value(comp[2])
62
- end
63
61
  local value_is_singular
64
62
  value_is_singular = function(node)
65
63
  return type(node) ~= "table" or node[1] ~= "exp" or #node == 2
@@ -306,6 +304,9 @@ local smart_node
306
304
  smart_node = function(node)
307
305
  return setmetatable(node, smart_node_mt[ntype(node)])
308
306
  end
307
+ local NOOP = {
308
+ "noop"
309
+ }
309
310
  return {
310
311
  ntype = ntype,
311
312
  smart_node = smart_node,
@@ -315,7 +316,8 @@ return {
315
316
  manual_return = manual_return,
316
317
  cascading = cascading,
317
318
  value_is_singular = value_is_singular,
318
- comprehension_has_value = comprehension_has_value,
319
- has_value = has_value,
320
- mtype = mtype
319
+ value_can_be_statement = value_can_be_statement,
320
+ mtype = mtype,
321
+ terminating = terminating,
322
+ NOOP = NOOP
321
323
  }
@@ -60,14 +60,6 @@ get_closest_line = function(str, line_num)
60
60
  return line, line_num
61
61
  end
62
62
  end
63
- local reversed
64
- reversed = function(seq)
65
- return coroutine.wrap(function()
66
- for i = #seq, 1, -1 do
67
- coroutine.yield(i, seq[i])
68
- end
69
- end)
70
- end
71
63
  local split
72
64
  split = function(str, delim)
73
65
  if str == "" then
@@ -209,7 +201,6 @@ return {
209
201
  pos_to_line = pos_to_line,
210
202
  get_closest_line = get_closest_line,
211
203
  get_line = get_line,
212
- reversed = reversed,
213
204
  trim = trim,
214
205
  split = split,
215
206
  dump = dump,
@@ -1,4 +1,4 @@
1
- local version = "0.3.2"
1
+ local version = "0.4.0"
2
2
  return {
3
3
  version = version,
4
4
  print_version = function()
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufus-lua-moon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stas Ukolov
@@ -123,8 +123,15 @@ files:
123
123
  - vendor/leafo/moonscript/parse/literals.lua
124
124
  - vendor/leafo/moonscript/parse/util.lua
125
125
  - vendor/leafo/moonscript/transform.lua
126
+ - vendor/leafo/moonscript/transform/accumulator.lua
127
+ - vendor/leafo/moonscript/transform/class.lua
128
+ - vendor/leafo/moonscript/transform/comprehension.lua
126
129
  - vendor/leafo/moonscript/transform/destructure.lua
127
130
  - vendor/leafo/moonscript/transform/names.lua
131
+ - vendor/leafo/moonscript/transform/statement.lua
132
+ - vendor/leafo/moonscript/transform/statements.lua
133
+ - vendor/leafo/moonscript/transform/transformer.lua
134
+ - vendor/leafo/moonscript/transform/value.lua
128
135
  - vendor/leafo/moonscript/types.lua
129
136
  - vendor/leafo/moonscript/util.lua
130
137
  - vendor/leafo/moonscript/version.lua