rbi 0.1.0 → 0.1.1
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/lib/rbi/loc.rb +6 -2
- data/lib/rbi/model.rb +2 -2
- data/lib/rbi/parser.rb +15 -12
- data/lib/rbi/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ab48b069bf534228e48c5c76caeb71daca4dd905a00cbdbfdd0ce7ce9374987
|
4
|
+
data.tar.gz: f301b0ce6eff170542931c88095d78ff60ffd5e20720eb04461bdbb3eeb98a8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2f844f5e4d6ec819125d1b91bd40e9af9821f32a4ca76036ccabe5beac985dc566d0cc8d9946ed1488c78115d3a64d798833d13256d829c686df1668353e314
|
7
|
+
data.tar.gz: a1bb0eabd7e81e3563e20bfb35eb0bf2044d152c0019ed78018327d6b60c4897b89a94f4fd741f077e7cb5186a82fbd7cf3c08b3340d2f1caa913b2d773adddc
|
data/lib/rbi/loc.rb
CHANGED
@@ -15,7 +15,7 @@ module RBI
|
|
15
15
|
begin_line: yarp_location.start_line,
|
16
16
|
end_line: yarp_location.end_line,
|
17
17
|
begin_column: yarp_location.start_column,
|
18
|
-
end_column: yarp_location.end_column
|
18
|
+
end_column: yarp_location.end_column,
|
19
19
|
)
|
20
20
|
end
|
21
21
|
end
|
@@ -45,7 +45,11 @@ module RBI
|
|
45
45
|
|
46
46
|
sig { returns(String) }
|
47
47
|
def to_s
|
48
|
-
|
48
|
+
if end_line && end_column
|
49
|
+
"#{file}:#{begin_line}:#{begin_column}-#{end_line}:#{end_column}"
|
50
|
+
else
|
51
|
+
"#{file}:#{begin_line}:#{begin_column}"
|
52
|
+
end
|
49
53
|
end
|
50
54
|
|
51
55
|
sig { returns(T.nilable(String)) }
|
data/lib/rbi/model.rb
CHANGED
@@ -353,7 +353,7 @@ module RBI
|
|
353
353
|
abstract!
|
354
354
|
|
355
355
|
sig { returns(T::Array[Symbol]) }
|
356
|
-
|
356
|
+
attr_reader :names
|
357
357
|
|
358
358
|
sig { returns(Visibility) }
|
359
359
|
attr_accessor :visibility
|
@@ -774,7 +774,7 @@ module RBI
|
|
774
774
|
abstract!
|
775
775
|
|
776
776
|
sig { returns(T::Array[String]) }
|
777
|
-
|
777
|
+
attr_reader :names
|
778
778
|
|
779
779
|
sig do
|
780
780
|
params(
|
data/lib/rbi/parser.rb
CHANGED
@@ -95,7 +95,10 @@ module RBI
|
|
95
95
|
def parse(source, file:)
|
96
96
|
result = YARP.parse(source)
|
97
97
|
unless result.success?
|
98
|
-
|
98
|
+
message = result.errors.map { |e| "#{e.message}." }.join(" ")
|
99
|
+
error = result.errors.first
|
100
|
+
location = Loc.new(file: file, begin_line: error.location.start_line, begin_column: error.location.start_column)
|
101
|
+
raise ParseError.new(message, location)
|
99
102
|
end
|
100
103
|
|
101
104
|
visitor = TreeBuilder.new(source, comments: result.comments, file: file)
|
@@ -215,7 +218,7 @@ module RBI
|
|
215
218
|
TypeMember.new(
|
216
219
|
case node
|
217
220
|
when YARP::ConstantWriteNode
|
218
|
-
node.name
|
221
|
+
node.name.to_s
|
219
222
|
when YARP::ConstantPathWriteNode
|
220
223
|
node_string!(node.target)
|
221
224
|
end,
|
@@ -227,7 +230,7 @@ module RBI
|
|
227
230
|
Const.new(
|
228
231
|
case node
|
229
232
|
when YARP::ConstantWriteNode
|
230
|
-
node.name
|
233
|
+
node.name.to_s
|
231
234
|
when YARP::ConstantPathWriteNode
|
232
235
|
node_string!(node.target)
|
233
236
|
end,
|
@@ -241,7 +244,7 @@ module RBI
|
|
241
244
|
sig { override.params(node: YARP::DefNode).void }
|
242
245
|
def visit_def_node(node)
|
243
246
|
current_scope << Method.new(
|
244
|
-
node.name,
|
247
|
+
node.name.to_s,
|
245
248
|
params: parse_params(node.parameters),
|
246
249
|
sigs: current_sigs,
|
247
250
|
loc: node_loc(node),
|
@@ -336,7 +339,7 @@ module RBI
|
|
336
339
|
return unless body.is_a?(YARP::StatementsNode)
|
337
340
|
|
338
341
|
current_scope << TEnumBlock.new(
|
339
|
-
body.body.map { |stmt| T.cast(stmt, YARP::ConstantWriteNode).name },
|
342
|
+
body.body.map { |stmt| T.cast(stmt, YARP::ConstantWriteNode).name.to_s },
|
340
343
|
loc: node_loc(node),
|
341
344
|
comments: node_comments(node),
|
342
345
|
)
|
@@ -549,7 +552,7 @@ module RBI
|
|
549
552
|
rest = node.rest
|
550
553
|
if rest.is_a?(YARP::RestParameterNode)
|
551
554
|
params << RestParam.new(
|
552
|
-
rest.name || "*args",
|
555
|
+
rest.name&.to_s || "*args",
|
553
556
|
loc: node_loc(rest),
|
554
557
|
comments: node_comments(rest),
|
555
558
|
)
|
@@ -561,14 +564,14 @@ module RBI
|
|
561
564
|
value = param.value
|
562
565
|
params << if value
|
563
566
|
KwOptParam.new(
|
564
|
-
param.name.delete_suffix(":"),
|
567
|
+
param.name.to_s.delete_suffix(":"),
|
565
568
|
node_string!(value),
|
566
569
|
loc: node_loc(param),
|
567
570
|
comments: node_comments(param),
|
568
571
|
)
|
569
572
|
else
|
570
573
|
KwParam.new(
|
571
|
-
param.name.delete_suffix(":"),
|
574
|
+
param.name.to_s.delete_suffix(":"),
|
572
575
|
loc: node_loc(param),
|
573
576
|
comments: node_comments(param),
|
574
577
|
)
|
@@ -578,7 +581,7 @@ module RBI
|
|
578
581
|
rest_kw = node.keyword_rest
|
579
582
|
if rest_kw.is_a?(YARP::KeywordRestParameterNode)
|
580
583
|
params << KwRestParam.new(
|
581
|
-
rest_kw.name || "**kwargs",
|
584
|
+
rest_kw.name&.to_s || "**kwargs",
|
582
585
|
loc: node_loc(rest_kw),
|
583
586
|
comments: node_comments(rest_kw),
|
584
587
|
)
|
@@ -587,7 +590,7 @@ module RBI
|
|
587
590
|
block = node.block
|
588
591
|
if block.is_a?(YARP::BlockParameterNode)
|
589
592
|
params << BlockParam.new(
|
590
|
-
block.name || "&block",
|
593
|
+
block.name&.to_s || "&block",
|
591
594
|
loc: node_loc(block),
|
592
595
|
comments: node_comments(block),
|
593
596
|
)
|
@@ -642,7 +645,7 @@ module RBI
|
|
642
645
|
|
643
646
|
name = case node
|
644
647
|
when YARP::ConstantWriteNode
|
645
|
-
node.name
|
648
|
+
node.name.to_s
|
646
649
|
when YARP::ConstantPathWriteNode
|
647
650
|
node_string!(node.target)
|
648
651
|
end
|
@@ -744,7 +747,7 @@ module RBI
|
|
744
747
|
extend T::Sig
|
745
748
|
|
746
749
|
sig { returns(Sig) }
|
747
|
-
|
750
|
+
attr_reader :current
|
748
751
|
|
749
752
|
sig { params(content: String, file: String).void }
|
750
753
|
def initialize(content, file:)
|
data/lib/rbi/version.rb
CHANGED
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.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Terrasa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.11.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.11.0
|
41
41
|
description:
|
42
42
|
email:
|
43
43
|
- ruby@shopify.com
|