rbs 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/Rakefile +2 -0
  4. data/core/array.rbs +1 -1
  5. data/core/enumerable.rbs +1 -1
  6. data/core/hash.rbs +13 -5
  7. data/core/io.rbs +3 -3
  8. data/core/module.rbs +1 -1
  9. data/core/numeric.rbs +10 -0
  10. data/core/proc.rbs +1 -1
  11. data/core/random.rbs +4 -2
  12. data/core/range.rbs +2 -2
  13. data/core/struct.rbs +3 -2
  14. data/core/thread.rbs +1 -1
  15. data/docs/CONTRIBUTING.md +5 -3
  16. data/docs/sigs.md +18 -1
  17. data/docs/syntax.md +11 -11
  18. data/lib/rbs.rb +1 -0
  19. data/lib/rbs/ast/annotation.rb +2 -2
  20. data/lib/rbs/ast/comment.rb +2 -2
  21. data/lib/rbs/ast/declarations.rb +37 -22
  22. data/lib/rbs/ast/members.rb +26 -26
  23. data/lib/rbs/cli.rb +3 -0
  24. data/lib/rbs/constant_table.rb +4 -1
  25. data/lib/rbs/definition.rb +1 -1
  26. data/lib/rbs/definition_builder.rb +14 -0
  27. data/lib/rbs/definition_builder/ancestor_builder.rb +1 -0
  28. data/lib/rbs/definition_builder/method_builder.rb +4 -2
  29. data/lib/rbs/location.rb +106 -2
  30. data/lib/rbs/locator.rb +205 -0
  31. data/lib/rbs/method_type.rb +2 -2
  32. data/lib/rbs/parser.rb +1050 -713
  33. data/lib/rbs/parser.y +403 -71
  34. data/lib/rbs/test/hook.rb +8 -2
  35. data/lib/rbs/type_name.rb +2 -3
  36. data/lib/rbs/type_name_resolver.rb +1 -1
  37. data/lib/rbs/types.rb +36 -34
  38. data/lib/rbs/version.rb +1 -1
  39. data/lib/rbs/writer.rb +4 -2
  40. data/sig/annotation.rbs +1 -1
  41. data/sig/cli.rbs +31 -21
  42. data/sig/comment.rbs +1 -1
  43. data/sig/declarations.rbs +106 -21
  44. data/sig/environment.rbs +2 -2
  45. data/sig/location.rbs +84 -3
  46. data/sig/locator.rbs +44 -0
  47. data/sig/members.rbs +76 -12
  48. data/sig/method_builder.rbs +1 -1
  49. data/sig/method_types.rbs +1 -1
  50. data/sig/polyfill.rbs +13 -8
  51. data/sig/rbs.rbs +8 -4
  52. data/sig/typename.rbs +1 -1
  53. data/sig/types.rbs +60 -19
  54. data/sig/util.rbs +0 -4
  55. data/sig/writer.rbs +8 -2
  56. data/stdlib/rubygems/0/requirement.rbs +84 -2
  57. data/stdlib/rubygems/0/version.rbs +2 -1
  58. data/stdlib/shellwords/0/shellwords.rbs +252 -0
  59. data/steep/Gemfile.lock +16 -13
  60. metadata +5 -2
data/lib/rbs/test/hook.rb CHANGED
@@ -25,7 +25,11 @@ module RBS
25
25
  :! => "not",
26
26
  :<< => "lshift",
27
27
  :>> => "rshift",
28
- :~ => "tilda"
28
+ :~ => "tilda",
29
+ :=~ => "eqtilda",
30
+ :% => "percent",
31
+ :+@ => "unary_plus",
32
+ :-@ => "unary_minus"
29
33
  }
30
34
  def self.alias_names(target, random)
31
35
  suffix = "#{RBS::Test.suffix}_#{random}"
@@ -71,7 +75,9 @@ module RBS
71
75
  with_name, without_name = alias_names(method_name, random)
72
76
  full_method_name = "#{prefix}#{method_name}"
73
77
 
74
- param_source = params.take_while {|param| param[0] == :req }.map(&:last) + ["*rest_args__#{random}"]
78
+ param_source = params.take_while {|param| param[0] == :req }
79
+ .map.with_index {|pair, index| pair[1] || "__req__#{random}__#{index}" }
80
+ param_source.push("*rest_args__#{random}")
75
81
  block_param = "block__#{random}"
76
82
 
77
83
  RBS.logger.debug {
data/lib/rbs/type_name.rb CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  module RBS
3
2
  class TypeName
4
3
  attr_reader :namespace
@@ -35,8 +34,8 @@ module RBS
35
34
  "#{namespace.to_s}#{name}"
36
35
  end
37
36
 
38
- def to_json(*a)
39
- to_s.to_json(*a)
37
+ def to_json(state = _ = nil)
38
+ to_s.to_json(state)
40
39
  end
41
40
 
42
41
  def to_namespace
@@ -39,7 +39,7 @@ module RBS
39
39
  raise unless path_head
40
40
 
41
41
  name_head = TypeName.new(name: path_head, namespace: Namespace.empty)
42
-
42
+
43
43
  absolute_head = context.find do |namespace|
44
44
  # @type break: TypeName
45
45
  full_name = name_head.with_prefix(namespace)
data/lib/rbs/types.rb CHANGED
@@ -52,9 +52,9 @@ module RBS
52
52
  include EmptyEachType
53
53
  include NoTypeName
54
54
 
55
- def to_json(*a)
55
+ def to_json(state = _ = nil)
56
56
  klass = to_s.to_sym
57
- { class: klass, location: location }.to_json(*a)
57
+ { class: klass, location: location }.to_json(state)
58
58
  end
59
59
 
60
60
  def to_s(level = 0)
@@ -125,8 +125,8 @@ module RBS
125
125
  end
126
126
  end
127
127
 
128
- def to_json(*a)
129
- { class: :variable, name: name, location: location }.to_json(*a)
128
+ def to_json(state = _ = nil)
129
+ { class: :variable, name: name, location: location }.to_json(state)
130
130
  end
131
131
 
132
132
  def sub(s)
@@ -177,8 +177,8 @@ module RBS
177
177
  include NoFreeVariables
178
178
  include NoSubst
179
179
 
180
- def to_json(*a)
181
- { class: :class_singleton, name: name, location: location }.to_json(*a)
180
+ def to_json(state = _ = nil)
181
+ { class: :class_singleton, name: name, location: location }.to_json(state)
182
182
  end
183
183
 
184
184
  def to_s(level = 0)
@@ -245,8 +245,8 @@ module RBS
245
245
  @location = location
246
246
  end
247
247
 
248
- def to_json(*a)
249
- { class: :interface, name: name, args: args, location: location }.to_json(*a)
248
+ def to_json(state = _ = nil)
249
+ { class: :interface, name: name, args: args, location: location }.to_json(state)
250
250
  end
251
251
 
252
252
  def sub(s)
@@ -275,8 +275,8 @@ module RBS
275
275
  @location = location
276
276
  end
277
277
 
278
- def to_json(*a)
279
- { class: :class_instance, name: name, args: args, location: location }.to_json(*a)
278
+ def to_json(state = _ = nil)
279
+ { class: :class_instance, name: name, args: args, location: location }.to_json(state)
280
280
  end
281
281
 
282
282
  def sub(s)
@@ -316,8 +316,8 @@ module RBS
316
316
  include NoFreeVariables
317
317
  include NoSubst
318
318
 
319
- def to_json(*a)
320
- { class: :alias, name: name, location: location }.to_json(*a)
319
+ def to_json(state = _ = nil)
320
+ { class: :alias, name: name, location: location }.to_json(state)
321
321
  end
322
322
 
323
323
  def to_s(level = 0)
@@ -361,8 +361,8 @@ module RBS
361
361
  end
362
362
  end
363
363
 
364
- def to_json(*a)
365
- { class: :tuple, types: types, location: location }.to_json(*a)
364
+ def to_json(state = _ = nil)
365
+ { class: :tuple, types: types, location: location }.to_json(state)
366
366
  end
367
367
 
368
368
  def sub(s)
@@ -421,8 +421,8 @@ module RBS
421
421
  end
422
422
  end
423
423
 
424
- def to_json(*a)
425
- { class: :record, fields: fields, location: location }.to_json(*a)
424
+ def to_json(state = _ = nil)
425
+ { class: :record, fields: fields, location: location }.to_json(state)
426
426
  end
427
427
 
428
428
  def sub(s)
@@ -482,8 +482,8 @@ module RBS
482
482
  type.free_variables(set)
483
483
  end
484
484
 
485
- def to_json(*a)
486
- { class: :optional, type: type, location: location }.to_json(*a)
485
+ def to_json(state = _ = nil)
486
+ { class: :optional, type: type, location: location }.to_json(state)
487
487
  end
488
488
 
489
489
  def sub(s)
@@ -545,8 +545,8 @@ module RBS
545
545
  end
546
546
  end
547
547
 
548
- def to_json(*a)
549
- { class: :union, types: types, location: location }.to_json(*a)
548
+ def to_json(state = _ = nil)
549
+ { class: :union, types: types, location: location }.to_json(state)
550
550
  end
551
551
 
552
552
  def sub(s)
@@ -613,8 +613,8 @@ module RBS
613
613
  end
614
614
  end
615
615
 
616
- def to_json(*a)
617
- { class: :intersection, types: types, location: location }.to_json(*a)
616
+ def to_json(state = _ = nil)
617
+ { class: :intersection, types: types, location: location }.to_json(state)
618
618
  end
619
619
 
620
620
  def sub(s)
@@ -659,10 +659,12 @@ module RBS
659
659
  class Param
660
660
  attr_reader :type
661
661
  attr_reader :name
662
+ attr_reader :location
662
663
 
663
- def initialize(type:, name:)
664
+ def initialize(type:, name:, location: nil)
664
665
  @type = type
665
666
  @name = name
667
+ @location = location
666
668
  end
667
669
 
668
670
  def ==(other)
@@ -677,14 +679,14 @@ module RBS
677
679
 
678
680
  def map_type(&block)
679
681
  if block
680
- Param.new(name: name, type: yield(type))
682
+ Param.new(name: name, type: yield(type), location: location)
681
683
  else
682
684
  enum_for :map_type
683
685
  end
684
686
  end
685
687
 
686
- def to_json(*a)
687
- { type: type, name: name }.to_json(*a)
688
+ def to_json(state = _ = nil)
689
+ { type: type, name: name }.to_json(state)
688
690
  end
689
691
 
690
692
  def to_s
@@ -826,7 +828,7 @@ module RBS
826
828
  end
827
829
  end
828
830
 
829
- def to_json(*a)
831
+ def to_json(state = _ = nil)
830
832
  {
831
833
  required_positionals: required_positionals,
832
834
  optional_positionals: optional_positionals,
@@ -836,7 +838,7 @@ module RBS
836
838
  optional_keywords: optional_keywords,
837
839
  rest_keywords: rest_keywords,
838
840
  return_type: return_type
839
- }.to_json(*a)
841
+ }.to_json(state)
840
842
  end
841
843
 
842
844
  def sub(s)
@@ -966,11 +968,11 @@ module RBS
966
968
  other.required == required
967
969
  end
968
970
 
969
- def to_json(*a)
971
+ def to_json(state = _ = nil)
970
972
  {
971
973
  type: type,
972
974
  required: required
973
- }.to_json(*a)
975
+ }.to_json(state)
974
976
  end
975
977
 
976
978
  def sub(s)
@@ -1015,13 +1017,13 @@ module RBS
1015
1017
  set
1016
1018
  end
1017
1019
 
1018
- def to_json(*a)
1020
+ def to_json(state = _ = nil)
1019
1021
  {
1020
1022
  class: :proc,
1021
1023
  type: type,
1022
1024
  block: block,
1023
1025
  location: location
1024
- }.to_json(*a)
1026
+ }.to_json(state)
1025
1027
  end
1026
1028
 
1027
1029
  def sub(s)
@@ -1083,8 +1085,8 @@ module RBS
1083
1085
  include EmptyEachType
1084
1086
  include NoTypeName
1085
1087
 
1086
- def to_json(*a)
1087
- { class: :literal, literal: literal.inspect, location: location }.to_json(*a)
1088
+ def to_json(state = _ = nil)
1089
+ { class: :literal, literal: literal.inspect, location: location }.to_json(state)
1088
1090
  end
1089
1091
 
1090
1092
  def to_s(level = 0)
data/lib/rbs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RBS
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.0"
3
3
  end
data/lib/rbs/writer.rb CHANGED
@@ -267,8 +267,10 @@ module RBS
267
267
  end
268
268
 
269
269
  if member.overload
270
- string << padding
271
- string << "|"
270
+ if member.types.size > 0
271
+ string << padding
272
+ string << "|"
273
+ end
272
274
  string << " ...\n"
273
275
  end
274
276
 
data/sig/annotation.rbs CHANGED
@@ -20,7 +20,7 @@ module RBS
20
20
 
21
21
  def hash: () -> Integer
22
22
 
23
- def to_json: (*untyped) -> String
23
+ include _ToJson
24
24
  end
25
25
  end
26
26
  end
data/sig/cli.rbs CHANGED
@@ -8,51 +8,61 @@ module RBS
8
8
  attr_reader repos: Array[String]
9
9
 
10
10
  def initialize: () -> void
11
-
11
+
12
12
  def loader: () -> EnvironmentLoader
13
+
14
+ def setup_library_options: (OptionParser) -> OptionParser
15
+ end
16
+
17
+ interface _IO
18
+ def puts: (*untyped) -> void
19
+
20
+ def print: (*untyped) -> void
21
+
22
+ def flush: () -> void
13
23
  end
14
24
 
15
- attr_reader stdout: IO
16
- attr_reader stderr: IO
25
+ attr_reader stdout: _IO
26
+ attr_reader stderr: _IO
17
27
 
18
28
  def initialize: (stdout: IO, stderr: IO) -> void
19
-
29
+
20
30
  COMMANDS: Array[Symbol]
21
31
 
22
32
  def library_parse: (OptionParser, options: LibraryOptions) -> void
23
-
33
+
24
34
  def parse_logging_options: (OptionParser) -> void
25
-
35
+
26
36
  def has_parser?: () -> bool
27
-
37
+
28
38
  def run: (Array[String] args) -> void
29
-
39
+
30
40
  def run_ast: (Array[String], LibraryOptions) -> void
31
-
41
+
32
42
  def run_list: (Array[String], LibraryOptions) -> void
33
-
43
+
34
44
  def run_ancestors: (Array[String], LibraryOptions) -> void
35
-
45
+
36
46
  def run_methods: (Array[String], LibraryOptions) -> void
37
-
47
+
38
48
  def run_method: (Array[String], LibraryOptions) -> void
39
-
49
+
40
50
  def run_validate: (Array[String], LibraryOptions) -> void
41
-
51
+
42
52
  def run_constant: (Array[String], LibraryOptions) -> void
43
-
53
+
44
54
  def run_paths: (Array[String], LibraryOptions) -> void
45
-
55
+
46
56
  def run_prototype: (Array[String], LibraryOptions) -> void
47
-
57
+
48
58
  def run_prototype_file: (String format, Array[String]) -> void
49
-
59
+
50
60
  def run_vendor: (Array[String], LibraryOptions) -> void
51
-
61
+
52
62
  def run_parse: (Array[String], LibraryOptions) -> void
53
-
63
+
54
64
  def run_test: (Array[String], LibraryOptions) -> void
55
-
65
+
56
66
  def test_opt: (LibraryOptions) -> String?
57
67
  end
58
68
  end
data/sig/comment.rbs CHANGED
@@ -18,7 +18,7 @@ module RBS
18
18
 
19
19
  def hash: () -> Integer
20
20
 
21
- def to_json: (*untyped) -> String
21
+ include _ToJson
22
22
 
23
23
  def concat: (string: String, location: Location?) -> self
24
24
  end
data/sig/declarations.rbs CHANGED
@@ -10,11 +10,21 @@ module RBS
10
10
 
11
11
  class ModuleTypeParams
12
12
  class TypeParam
13
+ # Key
14
+ # ^^^ name
15
+ #
16
+ # unchecked out Elem
17
+ # ^^^^^^^^^ unchecked
18
+ # ^^^ variance
19
+ # ^^^^ name
20
+ type loc = Location::WithChildren[:name, :variance | :unchecked]
21
+
13
22
  attr_reader name: Symbol
14
23
  attr_reader variance: variance
15
24
  attr_reader skip_validation: bool
25
+ attr_reader location: loc?
16
26
 
17
- def initialize: (name: Symbol, variance: variance, skip_validation: boolish) -> void
27
+ def initialize: (name: Symbol, variance: variance, skip_validation: boolish, location: loc?) -> void
18
28
 
19
29
  include _ToJson
20
30
  end
@@ -68,19 +78,42 @@ module RBS
68
78
  end
69
79
 
70
80
  class Class < Base
71
- type member = Members::t | t
72
-
73
81
  class Super
82
+ # String
83
+ # ^^^^^^ name
84
+ #
85
+ # Array[String]
86
+ # ^^^^^ name
87
+ # ^^^^^^^^ args
88
+ #
89
+ type loc = Location::WithChildren[:name, :args]
90
+
74
91
  attr_reader name: TypeName
75
92
  attr_reader args: Array[Types::t]
76
- attr_reader location: Location?
93
+ attr_reader location: loc?
77
94
 
78
- def initialize: (name: TypeName, args: Array[Types::t], location: Location?) -> void
95
+ def initialize: (name: TypeName, args: Array[Types::t], location: loc?) -> void
79
96
 
80
97
  include _HashEqual
81
98
  include _ToJson
82
99
  end
83
100
 
101
+ type member = Members::t | t
102
+
103
+ # class Foo end
104
+ # ^^^^^ keyword
105
+ # ^^^ name
106
+ # ^^^ end
107
+ #
108
+ # class Foo[A] < String end
109
+ # ^^^^^ keyword
110
+ # ^^^ name
111
+ # ^^^ type_params
112
+ # ^ lt
113
+ # ^^^ end
114
+ #
115
+ type loc = Location::WithChildren[:keyword | :name | :end, :type_params | :lt]
116
+
84
117
  include NestedDeclarationHelper
85
118
  include MixinHelper
86
119
 
@@ -89,24 +122,28 @@ module RBS
89
122
  attr_reader members: Array[member]
90
123
  attr_reader super_class: Super?
91
124
  attr_reader annotations: Array[Annotation]
92
- attr_reader location: Location?
125
+ attr_reader location: loc?
93
126
  attr_reader comment: Comment?
94
127
 
95
- def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], super_class: Super?, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
128
+ def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], super_class: Super?, annotations: Array[Annotation], location: loc?, comment: Comment?) -> void
96
129
 
97
130
  include _HashEqual
98
131
  include _ToJson
99
132
  end
100
133
 
101
134
  class Module < Base
102
- type member = Members::t | t
103
-
104
135
  class Self
136
+ # _Each[String]
137
+ # ^^^^^ name
138
+ # ^^^^^^^^ args
139
+ #
140
+ type loc = Location::WithChildren[:name, :args]
141
+
105
142
  attr_reader name: TypeName
106
143
  attr_reader args: Array[Types::t]
107
- attr_reader location: Location?
144
+ attr_reader location: loc?
108
145
 
109
- def initialize: (name: TypeName, args: Array[Types::t], location: Location?) -> void
146
+ def initialize: (name: TypeName, args: Array[Types::t], location: loc?) -> void
110
147
 
111
148
  include _HashEqual
112
149
  include _ToJson
@@ -114,18 +151,35 @@ module RBS
114
151
  def to_s: () -> String
115
152
  end
116
153
 
154
+ type member = Members::t | t
155
+
156
+ # module Foo end
157
+ # ^^^^^^ keyword
158
+ # ^^^ name
159
+ # ^^^ end
160
+ #
161
+ # module Foo[A] : BasicObject end
162
+ # ^^^^^^ keyword
163
+ # ^^^ name
164
+ # ^^^ type_params
165
+ # ^ colon
166
+ # ^^^^^^^^^^^ self_types
167
+ # ^^^ end
168
+ #
169
+ type loc = Location::WithChildren[:keyword | :name | :end, :type_params | :colon | :self_types]
170
+
117
171
  include NestedDeclarationHelper
118
172
  include MixinHelper
119
173
 
120
174
  attr_reader name: TypeName
121
175
  attr_reader type_params: ModuleTypeParams
122
176
  attr_reader members: Array[member]
123
- attr_reader location: Location?
177
+ attr_reader location: loc?
124
178
  attr_reader annotations: Array[Annotation]
125
179
  attr_reader self_types: Array[Self]
126
180
  attr_reader comment: Comment?
127
181
 
128
- def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], location: Location?, annotations: Array[Annotation], self_types: Array[Self], comment: Comment?) -> void
182
+ def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], location: loc?, annotations: Array[Annotation], self_types: Array[Self], comment: Comment?) -> void
129
183
 
130
184
  include _HashEqual
131
185
  include _ToJson
@@ -134,14 +188,27 @@ module RBS
134
188
  class Interface
135
189
  type member = Members::t
136
190
 
191
+ # interface _Foo end
192
+ # ^^^^^^^^^ keyword
193
+ # ^^^^ name
194
+ # ^^^ end
195
+ #
196
+ # interface _Bar[A, B] end
197
+ # ^^^^^^^^^ keyword
198
+ # ^^^^ name
199
+ # ^^^^^^ type_params
200
+ # ^^^ end
201
+ #
202
+ type loc = Location::WithChildren[:name | :keyword | :end, :type_params]
203
+
137
204
  attr_reader name: TypeName
138
205
  attr_reader type_params: ModuleTypeParams
139
206
  attr_reader members: Array[member]
140
207
  attr_reader annotations: Array[Annotation]
141
- attr_reader location: Location?
208
+ attr_reader location: loc?
142
209
  attr_reader comment: Comment?
143
210
 
144
- def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
211
+ def initialize: (name: TypeName, type_params: ModuleTypeParams, members: Array[member], annotations: Array[Annotation], location: loc?, comment: Comment?) -> void
145
212
 
146
213
  include MixinHelper
147
214
 
@@ -150,37 +217,55 @@ module RBS
150
217
  end
151
218
 
152
219
  class Alias < Base
220
+ # type loc = Location
221
+ # ^^^^ keyword
222
+ # ^^^ name
223
+ # ^ eq
224
+ type loc = Location::WithChildren[:keyword | :name | :eq, bot]
225
+
153
226
  attr_reader name: TypeName
154
227
  attr_reader type: Types::t
155
228
  attr_reader annotations: Array[Annotation]
156
- attr_reader location: Location?
229
+ attr_reader location: loc?
157
230
  attr_reader comment: Comment?
158
231
 
159
- def initialize: (name: TypeName, type: Types::t, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
232
+ def initialize: (name: TypeName, type: Types::t, annotations: Array[Annotation], location: loc?, comment: Comment?) -> void
160
233
 
161
234
  include _HashEqual
162
235
  include _ToJson
163
236
  end
164
237
 
165
238
  class Constant < Base
239
+ # VERSION: String
240
+ # ^^^^^^^ name
241
+ # ^ colon
242
+ #
243
+ type loc = Location::WithChildren[:name | :colon, bot]
244
+
166
245
  attr_reader name: TypeName
167
246
  attr_reader type: Types::t
168
- attr_reader location: Location?
247
+ attr_reader location: loc?
169
248
  attr_reader comment: Comment?
170
249
 
171
- def initialize: (name: TypeName, type: Types::t, location: Location?, comment: Comment?) -> void
250
+ def initialize: (name: TypeName, type: Types::t, location: loc?, comment: Comment?) -> void
172
251
 
173
252
  include _HashEqual
174
253
  include _ToJson
175
254
  end
176
255
 
177
256
  class Global < Base
257
+ # $SIZE: String
258
+ # ^^^^^ name
259
+ # ^ colon
260
+ #
261
+ type loc = Location::WithChildren[:name | :colon, bot]
262
+
178
263
  attr_reader name: Symbol
179
264
  attr_reader type: Types::t
180
- attr_reader location: Location?
265
+ attr_reader location: loc?
181
266
  attr_reader comment: Comment?
182
267
 
183
- def initialize: (name: Symbol, type: Types::t, location: Location?, comment: Comment?) -> void
268
+ def initialize: (name: Symbol, type: Types::t, location: loc?, comment: Comment?) -> void
184
269
 
185
270
  include _HashEqual
186
271
  include _ToJson