File tree Expand file tree Collapse file tree 1 file changed +25
-6
lines changed Expand file tree Collapse file tree 1 file changed +25
-6
lines changed Original file line number Diff line number Diff line change @@ -172,6 +172,24 @@ walk = (ast) ->
172
172
ast[2 ]
173
173
]
174
174
else if type is ' block'
175
+ unrollSeqs = (ast , seqs = []) ->
176
+ if ast[0 ] isnt ' seq'
177
+ throw " INVALID!!"
178
+ seqs .push ast[1 ]
179
+ if ast[2 ][0 ] is ' seq'
180
+ unrollSeqs ast[2 ], seqs
181
+ else
182
+ seqs .push ast[2 ]
183
+ return seqs
184
+
185
+ if ast[1 ].length
186
+ for i in [ast[1 ].length - 1 .. 0 ]
187
+ if ast[1 ][i][0 ] is ' stat' and ast[1 ][i][1 ][0 ] is ' seq'
188
+ seqs = unrollSeqs ast[1 ][i][1 ]
189
+ stats = []
190
+ for seq in seqs
191
+ stats .push [' stat' ,seq]
192
+ ast[1 ].splice (i,1 ,stats... )
175
193
for ast2, i in ast[1 ]
176
194
ast[1 ][i] = walk ast2
177
195
else if type is ' function'
@@ -288,12 +306,13 @@ unless ok
288
306
else
289
307
out = {errors : []}
290
308
for error in result .errors
291
- out .errors .push
292
- raw : error .raw
293
- reason : error .reason
294
- line : error .line
295
- character : error .character
296
- evidence : error .evidence
309
+ if error?
310
+ out .errors .push
311
+ raw : error .raw
312
+ reason : error .reason
313
+ line : error .line
314
+ character : error .character
315
+ evidence : error .evidence
297
316
console .error JSON .stringify out
298
317
process .exit 1
299
318
else
You can’t perform that action at this time.
0 commit comments