rbi 0.0.3 → 0.0.7
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.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/lib/rbi/model.rb +16 -3
- data/lib/rbi/parser.rb +8 -2
- data/lib/rbi/printer.rb +47 -28
- data/lib/rbi/rewriters/annotate.rb +57 -0
- data/lib/rbi/rewriters/deannotate.rb +45 -0
- data/lib/rbi/rewriters/merge_trees.rb +32 -8
- data/lib/rbi/version.rb +1 -2
- data/lib/rbi.rb +2 -0
- metadata +6 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97c295f819a7f55175bf02dc1722a7a6ad29c82f92c7f9be2636a47652d0b39f
|
4
|
+
data.tar.gz: f0ab6cb29d0e2a1a0ef78452543258761664d081845b042c0f5f1fc2f74f9773
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb97cd66fd4231f3609efede4b98f8590cf7fff1382b4dbae1997161a8b2aed5ed10e6bc388d8388a16dc71792ba5b5ec32561b37f353cc8b77cbfb778542a60
|
7
|
+
data.tar.gz: a44902b6c3a669c0d706952459b2ebdbe78bbfdcf75ed50b0d16274f9fafa2cba20adb7ce0b70bf2011765edcfe9ea4cf823bb973618e4babd091fdc5e3fafd8
|
data/Gemfile
CHANGED
@@ -8,9 +8,10 @@ gemspec
|
|
8
8
|
group(:development, :test) do
|
9
9
|
gem("byebug")
|
10
10
|
gem("minitest")
|
11
|
+
gem("rake", "~> 13.0")
|
11
12
|
gem("rubocop", "~> 1.7", require: false)
|
12
13
|
gem("rubocop-shopify", require: false)
|
13
14
|
gem("rubocop-sorbet", require: false)
|
14
|
-
gem("sorbet", require: false)
|
15
|
-
gem("tapioca",
|
15
|
+
gem("sorbet", ">= 0.5.9204", require: false)
|
16
|
+
gem("tapioca", "0.5.2", require: false)
|
16
17
|
end
|
data/lib/rbi/model.rb
CHANGED
@@ -66,7 +66,8 @@ module RBI
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
|
69
|
+
# An arbitrary blank line that can be added both in trees and comments
|
70
|
+
class BlankLine < Comment
|
70
71
|
extend T::Sig
|
71
72
|
|
72
73
|
sig { params(loc: T.nilable(Loc)).void }
|
@@ -89,6 +90,13 @@ module RBI
|
|
89
90
|
super(loc: loc)
|
90
91
|
@comments = comments
|
91
92
|
end
|
93
|
+
|
94
|
+
sig { returns(T::Array[String]) }
|
95
|
+
def annotations
|
96
|
+
comments
|
97
|
+
.select { |comment| comment.text.start_with?("@") }
|
98
|
+
.map { |comment| T.must(comment.text[1..]) }
|
99
|
+
end
|
92
100
|
end
|
93
101
|
|
94
102
|
class Tree < NodeWithComments
|
@@ -126,10 +134,10 @@ module RBI
|
|
126
134
|
extend T::Sig
|
127
135
|
|
128
136
|
sig { returns(Tree) }
|
129
|
-
|
137
|
+
attr_accessor :root
|
130
138
|
|
131
139
|
sig { returns(T.nilable(String)) }
|
132
|
-
|
140
|
+
attr_accessor :strictness
|
133
141
|
|
134
142
|
sig { returns(T::Array[Comment]) }
|
135
143
|
attr_accessor :comments
|
@@ -152,6 +160,11 @@ module RBI
|
|
152
160
|
def <<(node)
|
153
161
|
@root << node
|
154
162
|
end
|
163
|
+
|
164
|
+
sig { returns(T::Boolean) }
|
165
|
+
def empty?
|
166
|
+
@root.empty?
|
167
|
+
end
|
155
168
|
end
|
156
169
|
|
157
170
|
# Scopes
|
data/lib/rbi/parser.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require "
|
4
|
+
require "parser"
|
5
5
|
|
6
6
|
module RBI
|
7
7
|
class ParseError < StandardError
|
@@ -27,6 +27,12 @@ module RBI
|
|
27
27
|
::Parser::Builders::Default.emit_index = true
|
28
28
|
::Parser::Builders::Default.emit_arg_inside_procarg0 = true
|
29
29
|
|
30
|
+
sig { void }
|
31
|
+
def initialize
|
32
|
+
# Delay load unparser and only if it has not been loaded already.
|
33
|
+
require "unparser" unless defined?(::Unparser)
|
34
|
+
end
|
35
|
+
|
30
36
|
sig { params(string: String).returns(Tree) }
|
31
37
|
def self.parse_string(string)
|
32
38
|
Parser.new.parse_string(string)
|
@@ -172,7 +178,7 @@ module RBI
|
|
172
178
|
|
173
179
|
if last_line && comment_line > last_line + 1
|
174
180
|
# Preserve empty lines in file headers
|
175
|
-
tree.comments <<
|
181
|
+
tree.comments << BlankLine.new(loc: loc)
|
176
182
|
end
|
177
183
|
|
178
184
|
tree.comments << Comment.new(text, loc: loc)
|
data/lib/rbi/printer.rb
CHANGED
@@ -97,7 +97,7 @@ module RBI
|
|
97
97
|
v.visit_all(comments)
|
98
98
|
end
|
99
99
|
|
100
|
-
unless root.empty?
|
100
|
+
unless root.empty? && root.comments.empty?
|
101
101
|
v.printn if strictness || !comments.empty?
|
102
102
|
v.visit(root)
|
103
103
|
end
|
@@ -136,6 +136,15 @@ module RBI
|
|
136
136
|
out.string
|
137
137
|
end
|
138
138
|
|
139
|
+
sig { params(v: Printer).void }
|
140
|
+
def print_blank_line_before(v)
|
141
|
+
previous_node = v.previous_node
|
142
|
+
return unless previous_node
|
143
|
+
return if previous_node.is_a?(BlankLine)
|
144
|
+
return if previous_node.oneline? && oneline?
|
145
|
+
v.printn
|
146
|
+
end
|
147
|
+
|
139
148
|
sig { returns(T::Boolean) }
|
140
149
|
def oneline?
|
141
150
|
true
|
@@ -156,14 +165,22 @@ module RBI
|
|
156
165
|
|
157
166
|
sig { override.params(v: Printer).void }
|
158
167
|
def accept_printer(v)
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
168
|
+
lines = text.lines
|
169
|
+
|
170
|
+
if lines.empty?
|
171
|
+
v.printl("#")
|
172
|
+
end
|
173
|
+
|
174
|
+
lines.each do |line|
|
175
|
+
text = line.strip
|
176
|
+
v.printt("#")
|
177
|
+
v.print(" #{text}") unless text.empty?
|
178
|
+
v.printn
|
179
|
+
end
|
163
180
|
end
|
164
181
|
end
|
165
182
|
|
166
|
-
class
|
183
|
+
class BlankLine
|
167
184
|
extend T::Sig
|
168
185
|
|
169
186
|
sig { override.params(v: Printer).void }
|
@@ -193,8 +210,7 @@ module RBI
|
|
193
210
|
|
194
211
|
sig { override.params(v: Printer).void }
|
195
212
|
def accept_printer(v)
|
196
|
-
|
197
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
213
|
+
print_blank_line_before(v)
|
198
214
|
|
199
215
|
v.printl("# #{loc}") if loc && v.print_locs
|
200
216
|
v.visit_all(comments)
|
@@ -287,8 +303,7 @@ module RBI
|
|
287
303
|
|
288
304
|
sig { override.params(v: Printer).void }
|
289
305
|
def accept_printer(v)
|
290
|
-
|
291
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
306
|
+
print_blank_line_before(v)
|
292
307
|
|
293
308
|
v.printl("# #{loc}") if loc && v.print_locs
|
294
309
|
v.visit_all(comments)
|
@@ -301,8 +316,7 @@ module RBI
|
|
301
316
|
|
302
317
|
sig { override.params(v: Printer).void }
|
303
318
|
def accept_printer(v)
|
304
|
-
|
305
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
319
|
+
print_blank_line_before(v)
|
306
320
|
|
307
321
|
v.visit_all(comments)
|
308
322
|
sigs.each { |sig| v.visit(sig) }
|
@@ -338,8 +352,7 @@ module RBI
|
|
338
352
|
|
339
353
|
sig { override.params(v: Printer).void }
|
340
354
|
def accept_printer(v)
|
341
|
-
|
342
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
355
|
+
print_blank_line_before(v)
|
343
356
|
|
344
357
|
v.visit_all(comments)
|
345
358
|
v.visit_all(sigs)
|
@@ -366,13 +379,14 @@ module RBI
|
|
366
379
|
v.printt
|
367
380
|
v.visit(param)
|
368
381
|
v.print(",") if pindex < params.size - 1
|
369
|
-
|
382
|
+
|
383
|
+
param.comments_lines.each_with_index do |comment, cindex|
|
370
384
|
if cindex > 0
|
371
385
|
param.print_comment_leading_space(v, last: pindex == params.size - 1)
|
372
386
|
else
|
373
387
|
v.print(" ")
|
374
388
|
end
|
375
|
-
v.print("# #{comment
|
389
|
+
v.print("# #{comment}")
|
376
390
|
end
|
377
391
|
v.printn
|
378
392
|
end
|
@@ -410,6 +424,11 @@ module RBI
|
|
410
424
|
v.print(" " * (name.size + 1))
|
411
425
|
v.print(" ") unless last
|
412
426
|
end
|
427
|
+
|
428
|
+
sig { returns(T::Array[String]) }
|
429
|
+
def comments_lines
|
430
|
+
comments.flat_map { |comment| comment.text.lines.map(&:strip) }
|
431
|
+
end
|
413
432
|
end
|
414
433
|
|
415
434
|
class OptParam
|
@@ -507,8 +526,7 @@ module RBI
|
|
507
526
|
|
508
527
|
sig { override.params(v: Printer).void }
|
509
528
|
def accept_printer(v)
|
510
|
-
|
511
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
529
|
+
print_blank_line_before(v)
|
512
530
|
|
513
531
|
v.printl("# #{loc}") if loc && v.print_locs
|
514
532
|
v.visit_all(comments)
|
@@ -529,8 +547,7 @@ module RBI
|
|
529
547
|
|
530
548
|
sig { override.params(v: Printer).void }
|
531
549
|
def accept_printer(v)
|
532
|
-
|
533
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
550
|
+
print_blank_line_before(v)
|
534
551
|
|
535
552
|
v.printl("# #{loc}") if loc && v.print_locs
|
536
553
|
v.visit_all(comments)
|
@@ -576,13 +593,13 @@ module RBI
|
|
576
593
|
v.printt
|
577
594
|
v.visit(param)
|
578
595
|
v.print(",") if pindex < params.size - 1
|
579
|
-
param.
|
596
|
+
param.comments_lines.each_with_index do |comment, cindex|
|
580
597
|
if cindex == 0
|
581
598
|
v.print(" ")
|
582
599
|
else
|
583
600
|
param.print_comment_leading_space(v, last: pindex == params.size - 1)
|
584
601
|
end
|
585
|
-
v.print("# #{comment
|
602
|
+
v.print("# #{comment}")
|
586
603
|
end
|
587
604
|
v.printn
|
588
605
|
end
|
@@ -633,6 +650,11 @@ module RBI
|
|
633
650
|
v.print(" " * (name.size + type.size + 3))
|
634
651
|
v.print(" ") unless last
|
635
652
|
end
|
653
|
+
|
654
|
+
sig { returns(T::Array[String]) }
|
655
|
+
def comments_lines
|
656
|
+
comments.flat_map { |comment| comment.text.lines.map(&:strip) }
|
657
|
+
end
|
636
658
|
end
|
637
659
|
|
638
660
|
class TStructField
|
@@ -640,8 +662,7 @@ module RBI
|
|
640
662
|
|
641
663
|
sig { override.params(v: Printer).void }
|
642
664
|
def accept_printer(v)
|
643
|
-
|
644
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
665
|
+
print_blank_line_before(v)
|
645
666
|
|
646
667
|
v.printl("# #{loc}") if loc && v.print_locs
|
647
668
|
v.visit_all(comments)
|
@@ -680,8 +701,7 @@ module RBI
|
|
680
701
|
|
681
702
|
sig { override.params(v: Printer).void }
|
682
703
|
def accept_printer(v)
|
683
|
-
|
684
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
704
|
+
print_blank_line_before(v)
|
685
705
|
|
686
706
|
v.printl("# #{loc}") if loc && v.print_locs
|
687
707
|
v.visit_all(comments)
|
@@ -694,8 +714,7 @@ module RBI
|
|
694
714
|
|
695
715
|
sig { override.params(v: Printer).void }
|
696
716
|
def accept_printer(v)
|
697
|
-
|
698
|
-
v.printn if previous_node && (!previous_node.oneline? || !oneline?)
|
717
|
+
print_blank_line_before(v)
|
699
718
|
|
700
719
|
v.printl("# #{loc}") if loc && v.print_locs
|
701
720
|
v.visit_all(comments)
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module RBI
|
5
|
+
module Rewriters
|
6
|
+
class Annotate < Visitor
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
sig { params(annotation: String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
|
10
|
+
def initialize(annotation, annotate_scopes: false, annotate_properties: false)
|
11
|
+
super()
|
12
|
+
@annotation = annotation
|
13
|
+
@annotate_scopes = annotate_scopes
|
14
|
+
@annotate_properties = annotate_properties
|
15
|
+
end
|
16
|
+
|
17
|
+
sig { override.params(node: T.nilable(Node)).void }
|
18
|
+
def visit(node)
|
19
|
+
case node
|
20
|
+
when Scope
|
21
|
+
annotate_node(node) if @annotate_scopes || root?(node)
|
22
|
+
when Const, Attr, Method, TStructField, TypeMember
|
23
|
+
annotate_node(node) if @annotate_properties
|
24
|
+
end
|
25
|
+
visit_all(node.nodes) if node.is_a?(Tree)
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
sig { params(node: NodeWithComments).void }
|
31
|
+
def annotate_node(node)
|
32
|
+
return if node.annotations.one?(@annotation)
|
33
|
+
node.comments << Comment.new("@#{@annotation}")
|
34
|
+
end
|
35
|
+
|
36
|
+
sig { params(node: Node).returns(T::Boolean) }
|
37
|
+
def root?(node)
|
38
|
+
parent = node.parent_tree
|
39
|
+
parent.is_a?(Tree) && parent.parent_tree.nil?
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class Tree
|
45
|
+
extend T::Sig
|
46
|
+
|
47
|
+
sig { params(annotation: String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
|
48
|
+
def annotate!(annotation, annotate_scopes: false, annotate_properties: false)
|
49
|
+
visitor = Rewriters::Annotate.new(
|
50
|
+
annotation,
|
51
|
+
annotate_scopes: annotate_scopes,
|
52
|
+
annotate_properties: annotate_properties
|
53
|
+
)
|
54
|
+
visitor.visit(self)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module RBI
|
5
|
+
module Rewriters
|
6
|
+
class Deannotate < Visitor
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
sig { params(annotation: String).void }
|
10
|
+
def initialize(annotation)
|
11
|
+
super()
|
12
|
+
@annotation = annotation
|
13
|
+
end
|
14
|
+
|
15
|
+
sig { override.params(node: T.nilable(Node)).void }
|
16
|
+
def visit(node)
|
17
|
+
case node
|
18
|
+
when Scope, Const, Attr, Method, TStructField, TypeMember
|
19
|
+
deannotate_node(node)
|
20
|
+
end
|
21
|
+
visit_all(node.nodes) if node.is_a?(Tree)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
sig { params(node: NodeWithComments).void }
|
27
|
+
def deannotate_node(node)
|
28
|
+
return unless node.annotations.one?(@annotation)
|
29
|
+
node.comments.reject! do |comment|
|
30
|
+
comment.text == "@#{@annotation}"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Tree
|
37
|
+
extend T::Sig
|
38
|
+
|
39
|
+
sig { params(annotation: String).void }
|
40
|
+
def deannotate!(annotation)
|
41
|
+
visitor = Rewriters::Deannotate.new(annotation)
|
42
|
+
visitor.visit(self)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -47,8 +47,10 @@ module RBI
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
|
-
sig { params(left: Tree, right: Tree, left_name: String, right_name: String, keep: Keep).returns(
|
50
|
+
sig { params(left: Tree, right: Tree, left_name: String, right_name: String, keep: Keep).returns(MergeTree) }
|
51
51
|
def self.merge_trees(left, right, left_name: "left", right_name: "right", keep: Keep::NONE)
|
52
|
+
left.nest_singleton_methods!
|
53
|
+
right.nest_singleton_methods!
|
52
54
|
rewriter = Rewriters::Merge.new(left_name: left_name, right_name: right_name, keep: keep)
|
53
55
|
rewriter.merge(left)
|
54
56
|
rewriter.merge(right)
|
@@ -57,7 +59,7 @@ module RBI
|
|
57
59
|
tree
|
58
60
|
end
|
59
61
|
|
60
|
-
sig { returns(
|
62
|
+
sig { returns(MergeTree) }
|
61
63
|
attr_reader :tree
|
62
64
|
|
63
65
|
sig { params(left_name: String, right_name: String, keep: Keep).void }
|
@@ -65,15 +67,15 @@ module RBI
|
|
65
67
|
@left_name = left_name
|
66
68
|
@right_name = right_name
|
67
69
|
@keep = keep
|
68
|
-
@tree = T.let(
|
70
|
+
@tree = T.let(MergeTree.new, MergeTree)
|
69
71
|
@scope_stack = T.let([@tree], T::Array[Tree])
|
70
72
|
end
|
71
73
|
|
72
|
-
sig { params(tree: Tree).
|
74
|
+
sig { params(tree: Tree).void }
|
73
75
|
def merge(tree)
|
74
76
|
v = TreeMerger.new(@tree, left_name: @left_name, right_name: @right_name, keep: @keep)
|
75
77
|
v.visit(tree)
|
76
|
-
v.conflicts
|
78
|
+
@tree.conflicts.concat(v.conflicts)
|
77
79
|
end
|
78
80
|
|
79
81
|
# Used for logging / error displaying purpose
|
@@ -312,9 +314,31 @@ module RBI
|
|
312
314
|
class Tree
|
313
315
|
extend T::Sig
|
314
316
|
|
315
|
-
sig { params(other: Tree).returns(
|
316
|
-
def merge(other)
|
317
|
-
Rewriters::Merge.merge_trees(self, other)
|
317
|
+
sig { params(other: Tree, left_name: String, right_name: String, keep: Rewriters::Merge::Keep).returns(MergeTree) }
|
318
|
+
def merge(other, left_name: "left", right_name: "right", keep: Rewriters::Merge::Keep::NONE)
|
319
|
+
Rewriters::Merge.merge_trees(self, other, left_name: left_name, right_name: right_name, keep: keep)
|
320
|
+
end
|
321
|
+
end
|
322
|
+
|
323
|
+
# A tree that _might_ contain conflicts
|
324
|
+
class MergeTree < Tree
|
325
|
+
extend T::Sig
|
326
|
+
|
327
|
+
sig { returns(T::Array[Rewriters::Merge::Conflict]) }
|
328
|
+
attr_reader :conflicts
|
329
|
+
|
330
|
+
sig do
|
331
|
+
params(
|
332
|
+
loc: T.nilable(Loc),
|
333
|
+
comments: T::Array[Comment],
|
334
|
+
conflicts: T::Array[Rewriters::Merge::Conflict],
|
335
|
+
block: T.nilable(T.proc.params(node: Tree).void)
|
336
|
+
).void
|
337
|
+
end
|
338
|
+
def initialize(loc: nil, comments: [], conflicts: [], &block)
|
339
|
+
super(loc: loc, comments: comments)
|
340
|
+
@conflicts = conflicts
|
341
|
+
block&.call(self)
|
318
342
|
end
|
319
343
|
end
|
320
344
|
|
data/lib/rbi/version.rb
CHANGED
data/lib/rbi.rb
CHANGED
@@ -13,6 +13,8 @@ require "rbi/model"
|
|
13
13
|
require "rbi/visitor"
|
14
14
|
require "rbi/index"
|
15
15
|
require "rbi/rewriters/add_sig_templates"
|
16
|
+
require "rbi/rewriters/annotate"
|
17
|
+
require "rbi/rewriters/deannotate"
|
16
18
|
require "rbi/rewriters/merge_trees"
|
17
19
|
require "rbi/rewriters/nest_singleton_methods"
|
18
20
|
require "rbi/rewriters/nest_non_public_methods"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Terrasa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ast
|
@@ -38,34 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '13.0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '13.0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: sorbet-runtime
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
47
|
+
version: 0.5.9204
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
54
|
+
version: 0.5.9204
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: unparser
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,6 +83,8 @@ files:
|
|
97
83
|
- lib/rbi/parser.rb
|
98
84
|
- lib/rbi/printer.rb
|
99
85
|
- lib/rbi/rewriters/add_sig_templates.rb
|
86
|
+
- lib/rbi/rewriters/annotate.rb
|
87
|
+
- lib/rbi/rewriters/deannotate.rb
|
100
88
|
- lib/rbi/rewriters/group_nodes.rb
|
101
89
|
- lib/rbi/rewriters/merge_trees.rb
|
102
90
|
- lib/rbi/rewriters/nest_non_public_methods.rb
|