gloss 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9315ca2d8d487ca5729f7665abcba9e922ec4e0ee85ac54787248d07b54b7ed5
4
- data.tar.gz: 78928faa1a7e77e0184594a31786c0befdc796a4a9b46c5f509adb95c39d37c3
3
+ metadata.gz: 2f2a161efc722fa324547e073280e488143cd33141d9267609419d72894bcffc
4
+ data.tar.gz: 163032e06b8c91cdd1286b423846ff6a41a278a3fef7ed19bac5dcd21fb85e87
5
5
  SHA512:
6
- metadata.gz: c3178c5cf74e3946e327cbe97b5c5f421090e7b678d331c34ce5c8a45aea137cdc9628f91481425e18f66cf3245983d1e5bf965feaae211d619d8d9f5ed55647
7
- data.tar.gz: 9d9b5ef709cffe8efb6b0124762bbe025948caa51772cf33a38143862003048f15ee83198c2fd0f6a05128f14da65a9feb22b45205563b686bacb70d51dd5741
6
+ metadata.gz: 636bafe05b90c4b46f27a91b3d29d653a37cd3fcf083b6e80326be5b665fa48ba5648ae65a3b7eb7b7eba79c610ed3fee44f1ef586d4fcace105a9955ddc1299
7
+ data.tar.gz: 73fba2b35872586cfe17253f9a295c7c277fd4c298e796300f882386b555ea13e367bc2a2de2a153f12a053df9608ae89999803c893163ba8ebf7c73f0dee7aa
data/.gloss.yml CHANGED
@@ -1,3 +1,4 @@
1
1
  ---
2
2
  frozen_string_literals: true
3
3
  src_dir: src
4
+ entrypoint: src/exe/gloss
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gloss (0.0.6)
4
+ gloss (0.1.0)
5
5
  fast_blank
6
6
  listen
7
7
  rbs
@@ -25,7 +25,7 @@ GEM
25
25
  diff-lcs (1.4.4)
26
26
  fast_blank (1.0.0)
27
27
  ffi (1.14.2)
28
- i18n (1.8.7)
28
+ i18n (1.8.8)
29
29
  concurrent-ruby (~> 1.0)
30
30
  language_server-protocol (3.15.0.1)
31
31
  listen (3.4.1)
@@ -77,7 +77,7 @@ GEM
77
77
  rubocop-ast (1.4.0)
78
78
  parser (>= 2.7.1.5)
79
79
  ruby-progressbar (1.11.0)
80
- steep (0.40.0)
80
+ steep (0.41.0)
81
81
  activesupport (>= 5.1)
82
82
  ast_utils (>= 0.4.0)
83
83
  language_server-protocol (~> 3.15.0.1)
data/exe/gloss CHANGED
@@ -1,20 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ ##### This file was generated by Gloss; any changes made here will be overwritten.
5
+ ##### See src/ to make changes
2
6
 
3
7
  require "bundler/setup"
4
8
  require "gloss"
5
-
6
9
  begin
7
- Gloss::CLI.new(ARGV).run
10
+ Gloss::CLI.new(ARGV)
11
+ .run
8
12
  rescue SystemExit
9
- # raised by `abort` or `exit`; no op
10
- rescue => e
11
- Gloss.logger.fatal <<~MSG
12
- Unexpected error: #{e.class.name}
13
- Message: #{e.message}
14
- Trace:
15
- #{e.backtrace.join("\n")}
16
-
17
- This is probably a bug and may warrant a bug report at https://github.com/johansenja/gloss/issues
18
- MSG
19
- exit 1
13
+ rescue => e
14
+ abort(" Unexpected error: #{e.class
15
+ .name}\n Message: #{e.message}\n Trace:\n #{e.backtrace
16
+ .join("\n")}\n\n This is probably a bug and may warrant a bug report at https://github.com/johansenja/gloss/issues")
20
17
  end
@@ -5,7 +5,7 @@ require "./rb_ast"
5
5
  module Crystal
6
6
  abstract class ASTNode
7
7
  def to_rb
8
- Rb::AST::EmptyNode.new(self.class.name)
8
+ Rb::AST::EmptyNode.new(self.class.name, @location)
9
9
  end
10
10
  end
11
11
 
@@ -17,13 +17,13 @@ module Crystal
17
17
 
18
18
  class Expressions < ASTNode
19
19
  def to_rb
20
- Rb::AST::CollectionNode.new(@expressions.map(&.to_rb))
20
+ Rb::AST::CollectionNode.new(@expressions.map(&.to_rb), @location)
21
21
  end
22
22
  end
23
23
 
24
24
  class NilLiteral < ASTNode
25
25
  def to_rb
26
- Rb::AST::LiteralNode.new("nil", Rb::AST::RbLiteral::NilClass)
26
+ Rb::AST::LiteralNode.new("nil", Rb::AST::RbLiteral::NilClass, @location)
27
27
  end
28
28
  end
29
29
 
@@ -31,74 +31,73 @@ module Crystal
31
31
  def to_rb
32
32
  Rb::AST::LiteralNode.new(
33
33
  @value.inspect,
34
- @value ? Rb::AST::RbLiteral::TrueClass : Rb::AST::RbLiteral::FalseClass
35
- )
34
+ @value ? Rb::AST::RbLiteral::TrueClass : Rb::AST::RbLiteral::FalseClass, @location)
36
35
  end
37
36
  end
38
37
 
39
38
  class NumberLiteral < ASTNode
40
39
  def to_rb
41
- Rb::AST::LiteralNode.new(@value, Rb::AST::RbLiteral::Integer)
40
+ Rb::AST::LiteralNode.new(@value, Rb::AST::RbLiteral::Integer, @location)
42
41
  end
43
42
  end
44
43
 
45
44
  class CharLiteral < ASTNode
46
45
  def to_rb
47
- Rb::AST::LiteralNode.new(@value.inspect, Rb::AST::RbLiteral::String)
46
+ Rb::AST::LiteralNode.new(@value.inspect, Rb::AST::RbLiteral::String, @location)
48
47
  end
49
48
  end
50
49
 
51
50
  class StringLiteral < ASTNode
52
51
  def to_rb
53
- Rb::AST::LiteralNode.new(@value.inspect, Rb::AST::RbLiteral::String)
52
+ Rb::AST::LiteralNode.new(@value.inspect, Rb::AST::RbLiteral::String, @location)
54
53
  end
55
54
  end
56
55
 
57
56
  class StringInterpolation < ASTNode
58
57
  def to_rb
59
- Rb::AST::StringInterpolation.new(@expressions.map &.to_rb)
58
+ Rb::AST::StringInterpolation.new(@expressions.map &.to_rb, @location)
60
59
  end
61
60
  end
62
61
 
63
62
  class SymbolLiteral < ASTNode
64
63
  def to_rb
65
- Rb::AST::LiteralNode.new(%{:"#{@value.to_s}"}, Rb::AST::RbLiteral::Symbol)
64
+ Rb::AST::LiteralNode.new(%{:"#{@value.to_s}"}, Rb::AST::RbLiteral::Symbol, @location)
66
65
  end
67
66
  end
68
67
 
69
68
  class ArrayLiteral < ASTNode
70
69
  def to_rb
71
- Rb::AST::ArrayLiteral.new(@elements.map(&.to_rb))
70
+ Rb::AST::ArrayLiteral.new(@elements.map(&.to_rb), @location)
72
71
  end
73
72
  end
74
73
 
75
74
  class HashLiteral < ASTNode
76
75
  def to_rb
77
- Rb::AST::HashLiteral.new(@entries.map { |e| {e.key.to_rb, e.value.to_rb} })
76
+ Rb::AST::HashLiteral.new(@entries.map { |e| {e.key.to_rb, e.value.to_rb} }, @location)
78
77
  end
79
78
  end
80
79
 
81
80
  class NamedTupleLiteral < ASTNode
82
81
  def to_rb
83
- Rb::AST::HashLiteral.new(@entries.map { |e| {e.key, e.value.to_rb} }, frozen: true)
82
+ Rb::AST::HashLiteral.new(@entries.map { |e| {e.key, e.value.to_rb} }, @location, frozen: true)
84
83
  end
85
84
  end
86
85
 
87
86
  class RangeLiteral < ASTNode
88
87
  def to_rb
89
- Rb::AST::RangeLiteral.new(@from.to_rb, @to.to_rb, @exclusive)
88
+ Rb::AST::RangeLiteral.new(@from.to_rb, @to.to_rb, @exclusive, @location)
90
89
  end
91
90
  end
92
91
 
93
92
  class RegexLiteral < ASTNode
94
93
  def to_rb
95
- Rb::AST::RegexLiteral.new(@value.to_rb)
94
+ Rb::AST::RegexLiteral.new(@value.to_rb, @location)
96
95
  end
97
96
  end
98
97
 
99
98
  class TupleLiteral < ASTNode
100
99
  def to_rb
101
- Rb::AST::ArrayLiteral.new(@elements.map(&.to_rb), frozen: true)
100
+ Rb::AST::ArrayLiteral.new(@elements.map(&.to_rb), @location, frozen: true)
102
101
  end
103
102
  end
104
103
 
@@ -115,26 +114,25 @@ module Crystal
115
114
  @body.to_rb,
116
115
  return_type.try(&.to_rb),
117
116
  @yields,
118
- @block_arg.try &.to_rb
119
- )
117
+ @block_arg.try &.to_rb, @location)
120
118
  end
121
119
  end
122
120
 
123
121
  class ClassDef < ASTNode
124
122
  def to_rb
125
- Rb::AST::ClassNode.new(@name.to_rb, @body.to_rb, @superclass.try(&.to_rb), @type_vars, @abstract)
123
+ Rb::AST::ClassNode.new(@name.to_rb, @body.to_rb, @superclass.try(&.to_rb), @type_vars, @abstract, @location)
126
124
  end
127
125
  end
128
126
 
129
127
  class ModuleDef < ASTNode
130
128
  def to_rb
131
- Rb::AST::ModuleNode.new(@name.to_rb, @body.to_rb, @type_vars)
129
+ Rb::AST::ModuleNode.new(@name.to_rb, @body.to_rb, @type_vars, @location)
132
130
  end
133
131
  end
134
132
 
135
133
  class Var < ASTNode
136
134
  def to_rb
137
- Rb::AST::Var.new(@name)
135
+ Rb::AST::Var.new(@name, @location)
138
136
  end
139
137
  end
140
138
 
@@ -142,7 +140,7 @@ module Crystal
142
140
  def to_rb
143
141
  positional_args = args.dup
144
142
  splat = @splat_index ? positional_args.delete_at(@splat_index.as(Int32)) : nil
145
- Rb::AST::Block.new(positional_args.map(&.to_rb), splat.try &.to_rb, @body.to_rb)
143
+ Rb::AST::Block.new(positional_args.map(&.to_rb), splat.try &.to_rb, @body.to_rb, @location)
146
144
  end
147
145
  end
148
146
 
@@ -155,8 +153,7 @@ module Crystal
155
153
  @named_args.try(&.map(&.to_rb.as(Rb::AST::Arg))),
156
154
  @block.try(&.to_rb),
157
155
  @block_arg.try(&.to_rb),
158
- @has_parentheses
159
- )
156
+ @has_parentheses, @location)
160
157
  end
161
158
  end
162
159
 
@@ -165,121 +162,121 @@ module Crystal
165
162
 
166
163
  def to_rb
167
164
  Rb::AST::Arg.new(@name, @external_name, @restriction.try(&.to_rb),
168
- @default_value.try(&.to_rb), @keyword_arg)
165
+ @default_value.try(&.to_rb), @keyword_arg, @location)
169
166
  end
170
167
  end
171
168
 
172
169
  class NamedArgument < ASTNode
173
170
  def to_rb
174
- Rb::AST::Arg.new(@name, @name, nil, @value.to_rb, true)
171
+ Rb::AST::Arg.new(@name, @name, nil, @value.to_rb, true, @location)
175
172
  end
176
173
  end
177
174
 
178
175
  class If < ASTNode
179
176
  def to_rb
180
- Rb::AST::If.new(@cond.to_rb, @then.to_rb, @else.to_rb)
177
+ Rb::AST::If.new(@cond.to_rb, @then.to_rb, @else.to_rb, @location)
181
178
  end
182
179
  end
183
180
 
184
181
  class Unless < ASTNode
185
182
  def to_rb
186
- Rb::AST::Unless.new(@cond.to_rb, @then.to_rb, @else.to_rb)
183
+ Rb::AST::Unless.new(@cond.to_rb, @then.to_rb, @else.to_rb, @location)
187
184
  end
188
185
  end
189
186
 
190
187
  class Assign < ASTNode
191
188
  def to_rb
192
- Rb::AST::Assign.new(@target.to_rb, @value.to_rb)
189
+ Rb::AST::Assign.new(@target.to_rb, @value.to_rb, nil, @location)
193
190
  end
194
191
  end
195
192
 
196
193
  class OpAssign < ASTNode
197
194
  def to_rb
198
- Rb::AST::Assign.new(@target.to_rb, @value.to_rb, @op)
195
+ Rb::AST::Assign.new(@target.to_rb, @value.to_rb, @op, @location)
199
196
  end
200
197
  end
201
198
 
202
199
  class MultiAssign < ASTNode
203
200
  def to_rb
204
- Rb::AST::MultiAssign.new(@targets.map(&.to_rb), @values.map(&.to_rb))
201
+ Rb::AST::MultiAssign.new(@targets.map(&.to_rb), @values.map(&.to_rb), @location)
205
202
  end
206
203
  end
207
204
 
208
205
  class InstanceVar < ASTNode
209
206
  def to_rb
210
- Rb::AST::InstanceVar.new(@name)
207
+ Rb::AST::InstanceVar.new(@name, @location)
211
208
  end
212
209
  end
213
210
 
214
211
  class ReadInstanceVar < ASTNode
215
212
  def to_rb
216
- Rb::AST::EmptyNode.new(self.class.name)
213
+ Rb::AST::EmptyNode.new(self.class.name, @location)
217
214
  end
218
215
  end
219
216
 
220
217
  class ClassVar < ASTNode
221
218
  def to_rb
222
- Rb::AST::EmptyNode.new(self.class.name)
219
+ Rb::AST::EmptyNode.new(self.class.name, @location)
223
220
  end
224
221
  end
225
222
 
226
223
  class Global < ASTNode
227
224
  def to_rb
228
- Rb::AST::GlobalVar.new(@name)
225
+ Rb::AST::GlobalVar.new(@name, @location)
229
226
  end
230
227
  end
231
228
 
232
229
  class Annotation < ASTNode
233
230
  def to_rb
234
- Rb::AST::EmptyNode.new(self.class.name)
231
+ Rb::AST::EmptyNode.new(self.class.name, @location)
235
232
  end
236
233
  end
237
234
 
238
235
  class MacroIf < ASTNode
239
236
  def to_rb
240
- Rb::AST::MacroIf.new(@cond.to_rb, @then.to_rb, @else.to_rb)
237
+ Rb::AST::MacroIf.new(@cond.to_rb, @then.to_rb, @else.to_rb, @location)
241
238
  end
242
239
  end
243
240
 
244
241
  class MacroFor < ASTNode
245
242
  def to_rb
246
- Rb::AST::MacroFor.new(@vars.map(&.to_rb), @exp.to_rb, @body.to_rb)
243
+ Rb::AST::MacroFor.new(@vars.map(&.to_rb), @exp.to_rb, @body.to_rb, @location)
247
244
  end
248
245
  end
249
246
 
250
247
  class MacroVar < ASTNode
251
248
  def to_rb
252
- Rb::AST::EmptyNode.new(self.class.name)
249
+ Rb::AST::EmptyNode.new(self.class.name, @location)
253
250
  end
254
251
  end
255
252
 
256
253
  class MacroExpression < ASTNode
257
254
  def to_rb
258
- Rb::AST::MacroExpression.new(@exp.to_rb, @output)
255
+ Rb::AST::MacroExpression.new(@exp.to_rb, @output, @location)
259
256
  end
260
257
  end
261
258
 
262
259
  class MacroLiteral < ASTNode
263
260
  def to_rb
264
- Rb::AST::MacroLiteral.new(@value)
261
+ Rb::AST::MacroLiteral.new(@value, @location)
265
262
  end
266
263
  end
267
264
 
268
265
  class Annotation < ASTNode
269
266
  def to_rb
270
- Rb::AST::EmptyNode.new(self.class.name)
267
+ Rb::AST::EmptyNode.new(self.class.name, @location)
271
268
  end
272
269
  end
273
270
 
274
271
  class EnumDef < ASTNode
275
272
  def to_rb
276
- Rb::AST::Enum.new(@name, @members.map(&.to_rb))
273
+ Rb::AST::Enum.new(@name, @members.map(&.to_rb), @location)
277
274
  end
278
275
  end
279
276
 
280
277
  class Path < ASTNode
281
278
  def to_rb
282
- Rb::AST::Path.new(full_name)
279
+ Rb::AST::Path.new(full_name, @location)
283
280
  end
284
281
 
285
282
  def full_name
@@ -291,13 +288,13 @@ module Crystal
291
288
 
292
289
  class Require < ASTNode
293
290
  def to_rb
294
- Rb::AST::Require.new(@string)
291
+ Rb::AST::Require.new(@string, @location)
295
292
  end
296
293
  end
297
294
 
298
295
  class TypeDeclaration < ASTNode
299
296
  def to_rb
300
- Rb::AST::TypeDeclaration.new(@var.to_rb, @declared_type.to_rb, @value.try(&.to_rb))
297
+ Rb::AST::TypeDeclaration.new(@var.to_rb, @declared_type.to_rb, @value.try(&.to_rb), @location)
301
298
  end
302
299
  end
303
300
 
@@ -307,8 +304,7 @@ module Crystal
307
304
  @cond.try(&.to_rb),
308
305
  @whens.map(&.to_rb),
309
306
  @else.try(&.to_rb),
310
- @exhaustive
311
- )
307
+ @exhaustive, @location)
312
308
  end
313
309
  end
314
310
 
@@ -322,16 +318,14 @@ module Crystal
322
318
  Def.new(
323
319
  "->",
324
320
  [Arg.new(arg_name)],
325
- c.tap { |call| call.obj = Var.new(arg_name) }
326
- )
321
+ c.tap { |call| call.obj = Var.new(arg_name) })
327
322
  ).to_rb
328
323
  else
329
324
  c.to_rb
330
325
  end
331
326
  end,
332
327
  @body.to_rb,
333
- @exhaustive
334
- )
328
+ @exhaustive, @location)
335
329
  end
336
330
  end
337
331
 
@@ -351,8 +345,7 @@ module Crystal
351
345
  Rb::AST::UnaryExpr.new(
352
346
  @exp.to_rb,
353
347
  op,
354
- requires_parentheses
355
- )
348
+ requires_parentheses ,@location)
356
349
  end
357
350
  end
358
351
  {% end %}
@@ -367,8 +360,7 @@ module Crystal
367
360
  "||",
368
361
  {% end %}
369
362
  @left.to_rb,
370
- @right.to_rb
371
- )
363
+ @right.to_rb ,@location)
372
364
  end
373
365
  end
374
366
  {% end %}
@@ -376,7 +368,7 @@ module Crystal
376
368
  {% for class_name in %w[Return Break Next] %}
377
369
  class {{class_name.id}} < ControlExpression
378
370
  def to_rb
379
- Rb::AST::{{class_name.id}}.new(@exp.try(&.to_rb))
371
+ Rb::AST::{{class_name.id}}.new(@exp.try(&.to_rb),@location)
380
372
  end
381
373
  end
382
374
  {% end %}
@@ -384,43 +376,43 @@ module Crystal
384
376
  class ExceptionHandler < ASTNode
385
377
  def to_rb
386
378
  Rb::AST::ExceptionHandler.new(@body.to_rb, @rescues.try(&.map(&.to_rb)), @else.try(&.to_rb),
387
- @ensure.try(&.to_rb))
379
+ @ensure.try(&.to_rb), @location)
388
380
  end
389
381
  end
390
382
 
391
383
  class Rescue < ASTNode
392
384
  def to_rb
393
- Rb::AST::Rescue.new(@body.to_rb, @types.try(&.map(&.to_rb)), @name)
385
+ Rb::AST::Rescue.new(@body.to_rb, @types.try(&.map(&.to_rb)), @name, @location)
394
386
  end
395
387
  end
396
388
 
397
389
  class Union < ASTNode
398
390
  def to_rb
399
- Rb::AST::Union.new(@types.map(&.to_rb))
391
+ Rb::AST::Union.new(@types.map(&.to_rb), @location)
400
392
  end
401
393
  end
402
394
 
403
395
  class Generic < ASTNode
404
396
  def to_rb
405
- Rb::AST::Generic.new(@name.to_rb, @type_vars.map(&.to_rb))
397
+ Rb::AST::Generic.new(@name.to_rb, @type_vars.map(&.to_rb), @location)
406
398
  end
407
399
  end
408
400
 
409
401
  class ProcLiteral < ASTNode
410
402
  def to_rb
411
- Rb::AST::Proc.new(@def.to_rb)
403
+ Rb::AST::Proc.new(@def.to_rb, @location)
412
404
  end
413
405
  end
414
406
 
415
407
  class Include < ASTNode
416
408
  def to_rb
417
- Rb::AST::Include.new(@name.to_rb)
409
+ Rb::AST::Include.new(@name.to_rb, @location)
418
410
  end
419
411
  end
420
412
 
421
413
  class Extend < ASTNode
422
414
  def to_rb
423
- Rb::AST::Extend.new(@name.to_rb)
415
+ Rb::AST::Extend.new(@name.to_rb, @location)
424
416
  end
425
417
  end
426
418
 
@@ -433,14 +425,13 @@ module Crystal
433
425
  nil,
434
426
  nil,
435
427
  nil,
436
- false
437
- )
428
+ false, @location)
438
429
  end
439
430
  end
440
431
 
441
432
  class VisibilityModifier < ASTNode
442
433
  def to_rb
443
- Rb::AST::VisibilityModifier.new(@modifier, @exp.to_rb)
434
+ Rb::AST::VisibilityModifier.new(@modifier, @exp.to_rb, @location)
444
435
  end
445
436
  end
446
437
 
@@ -453,8 +444,7 @@ module Crystal
453
444
  nil,
454
445
  nil,
455
446
  nil,
456
- !@exps.empty?
457
- )
447
+ !@exps.empty?, @location)
458
448
  end
459
449
  end
460
450
 
@@ -465,7 +455,7 @@ module Crystal
465
455
  Underscore MagicConstant Asm AsmOperand] %}
466
456
  class {{class_name.id}} < ASTNode
467
457
  def to_rb
468
- Rb::AST::EmptyNode.new(self.class.name)
458
+ Rb::AST::EmptyNode.new(self.class.name,@location)
469
459
  end
470
460
  end
471
461
  {% end %}
@@ -473,7 +463,7 @@ module Crystal
473
463
  {% for class_name in %w[PointerOf SizeOf InstanceSizeOf Out MacroVerbatim] %}
474
464
  class {{class_name.id}} < UnaryExpression
475
465
  def to_rb
476
- Rb::AST::EmptyNode.new(self.class.name)
466
+ Rb::AST::EmptyNode.new(self.class.name,@location)
477
467
  end
478
468
  end
479
469
  {% end %}