repeatable 1.0.0 → 1.2.0

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +77 -0
  3. data/CHANGELOG.md +27 -1
  4. data/CODE_OF_CONDUCT.md +128 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +89 -24
  7. data/README.md +44 -8
  8. data/Rakefile +5 -1
  9. data/bin/tapioca +29 -0
  10. data/lib/repeatable/conversions.rb +7 -2
  11. data/lib/repeatable/expression/base.rb +27 -11
  12. data/lib/repeatable/expression/biweekly.rb +15 -6
  13. data/lib/repeatable/expression/date.rb +11 -6
  14. data/lib/repeatable/expression/day_in_month.rb +5 -0
  15. data/lib/repeatable/expression/difference.rb +15 -5
  16. data/lib/repeatable/expression/exact_date.rb +6 -1
  17. data/lib/repeatable/expression/intersection.rb +8 -2
  18. data/lib/repeatable/expression/range_in_year.rb +34 -9
  19. data/lib/repeatable/expression/set.rb +17 -6
  20. data/lib/repeatable/expression/union.rb +7 -1
  21. data/lib/repeatable/expression/weekday.rb +5 -0
  22. data/lib/repeatable/expression/weekday_in_month.rb +15 -1
  23. data/lib/repeatable/expression.rb +2 -0
  24. data/lib/repeatable/last_date_of_month.rb +5 -0
  25. data/lib/repeatable/parse_error.rb +2 -0
  26. data/lib/repeatable/parser.rb +8 -1
  27. data/lib/repeatable/schedule.rb +24 -4
  28. data/lib/repeatable/types.rb +7 -0
  29. data/lib/repeatable/version.rb +3 -1
  30. data/lib/repeatable.rb +5 -0
  31. data/rbi/repeatable.rbi +316 -0
  32. data/repeatable.gemspec +3 -0
  33. data/sorbet/config +4 -0
  34. data/sorbet/rbi/annotations/.gitattributes +1 -0
  35. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  36. data/sorbet/rbi/gems/.gitattributes +1 -0
  37. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  38. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  39. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  40. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +1082 -0
  41. data/sorbet/rbi/gems/docile@1.4.0.rbi +376 -0
  42. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  43. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  44. data/sorbet/rbi/gems/json@2.7.2.rbi +1561 -0
  45. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  46. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  47. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  48. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  49. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  50. data/sorbet/rbi/gems/parlour@8.1.0.rbi +3053 -0
  51. data/sorbet/rbi/gems/parser@3.3.1.0.rbi +7320 -0
  52. data/sorbet/rbi/gems/prism@0.28.0.rbi +37903 -0
  53. data/sorbet/rbi/gems/pry@0.14.0.rbi +10072 -0
  54. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  56. data/sorbet/rbi/gems/rake@13.0.3.rbi +3024 -0
  57. data/sorbet/rbi/gems/rbi@0.1.13.rbi +3071 -0
  58. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  59. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  60. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +10837 -0
  61. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +7930 -0
  62. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +5247 -0
  63. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +1594 -0
  64. data/sorbet/rbi/gems/rspec@3.10.0.rbi +76 -0
  65. data/sorbet/rbi/gems/rubocop-ast@1.31.3.rbi +7014 -0
  66. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +8 -0
  67. data/sorbet/rbi/gems/rubocop@1.62.1.rbi +57542 -0
  68. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  69. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +216 -0
  70. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +2135 -0
  71. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  72. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  73. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  74. data/sorbet/rbi/gems/standard-performance@1.3.1.rbi +8 -0
  75. data/sorbet/rbi/gems/standard@1.35.1.rbi +850 -0
  76. data/sorbet/rbi/gems/tapioca@0.13.3.rbi +3527 -0
  77. data/sorbet/rbi/gems/thor@1.3.1.rbi +4351 -0
  78. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  79. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  80. data/sorbet/rbi/gems/yard@0.9.36.rbi +18220 -0
  81. data/sorbet/tapioca/config.yml +13 -0
  82. data/sorbet/tapioca/require.rb +4 -0
  83. metadata +75 -6
  84. data/.travis.yml +0 -18
@@ -0,0 +1,3053 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `parlour` gem.
5
+ # Please instead update this file by running `bin/tapioca gem parlour`.
6
+
7
+ # source://parlour//lib/parlour/version.rb#2
8
+ module Parlour; end
9
+
10
+ # Responsible for resolving conflicts (that is, multiple definitions with the
11
+ # same name) between objects defined in the same namespace.
12
+ #
13
+ # source://parlour//lib/parlour/conflict_resolver.rb#7
14
+ class Parlour::ConflictResolver
15
+ # @return [ConflictResolver] a new instance of ConflictResolver
16
+ #
17
+ # source://parlour//lib/parlour/conflict_resolver.rb#10
18
+ def initialize; end
19
+
20
+ # source://parlour//lib/parlour/conflict_resolver.rb#47
21
+ sig do
22
+ params(
23
+ namespace: Parlour::RbiGenerator::Namespace,
24
+ resolver: T.proc.params(desc: ::String, choices: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T.nilable(::Parlour::RbiGenerator::RbiObject))
25
+ ).void
26
+ end
27
+ def resolve_conflicts(namespace, &resolver); end
28
+
29
+ private
30
+
31
+ # source://parlour//lib/parlour/conflict_resolver.rb#244
32
+ sig { params(arr: T::Array[T.untyped]).returns(T::Boolean) }
33
+ def all_eql?(arr); end
34
+
35
+ # source://parlour//lib/parlour/conflict_resolver.rb#255
36
+ sig { params(namespace: Parlour::RbiGenerator::Namespace, name: T.nilable(::String)).void }
37
+ def deduplicate_mixins_of_name(namespace, name); end
38
+
39
+ # source://parlour//lib/parlour/conflict_resolver.rb#217
40
+ sig { params(arr: T::Array[T.untyped]).returns(T.nilable(::Symbol)) }
41
+ def merge_strategy(arr); end
42
+ end
43
+
44
+ # source://parlour//lib/parlour/conversion/converter.rb#5
45
+ module Parlour::Conversion; end
46
+
47
+ # An abstract class which converts between the node trees of two type
48
+ # systems.
49
+ #
50
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
51
+ #
52
+ # source://parlour//lib/parlour/conversion/converter.rb#8
53
+ class Parlour::Conversion::Converter
54
+ abstract!
55
+
56
+ # @return [Converter] a new instance of Converter
57
+ #
58
+ # source://parlour//lib/parlour/conversion/converter.rb#13
59
+ def initialize; end
60
+
61
+ # source://parlour//lib/parlour/conversion/converter.rb#21
62
+ sig { params(msg: ::String, node: ::Parlour::RbiGenerator::RbiObject).void }
63
+ def add_warning(msg, node); end
64
+
65
+ # source://parlour//lib/parlour/conversion/converter.rb#18
66
+ sig { returns(T::Array[[::String, ::Parlour::TypedObject]]) }
67
+ def warnings; end
68
+ end
69
+
70
+ # Converts RBI types to RBS types.
71
+ #
72
+ # source://parlour//lib/parlour/conversion/rbi_to_rbs.rb#5
73
+ class Parlour::Conversion::RbiToRbs < ::Parlour::Conversion::Converter
74
+ # source://parlour//lib/parlour/conversion/rbi_to_rbs.rb#9
75
+ sig { params(rbs_gen: ::Parlour::RbsGenerator).void }
76
+ def initialize(rbs_gen); end
77
+
78
+ # source://parlour//lib/parlour/conversion/rbi_to_rbs.rb#18
79
+ sig { params(from: Parlour::RbiGenerator::Namespace, to: Parlour::RbsGenerator::Namespace).void }
80
+ def convert_all(from, to); end
81
+
82
+ # source://parlour//lib/parlour/conversion/rbi_to_rbs.rb#30
83
+ sig { params(node: ::Parlour::RbiGenerator::RbiObject, new_parent: Parlour::RbsGenerator::Namespace).void }
84
+ def convert_object(node, new_parent); end
85
+
86
+ # source://parlour//lib/parlour/conversion/rbi_to_rbs.rb#15
87
+ sig { returns(::Parlour::RbsGenerator) }
88
+ def rbs_gen; end
89
+ end
90
+
91
+ # Contains methods to enable debugging facilities for Parlour.
92
+ #
93
+ # source://parlour//lib/parlour/debugging.rb#6
94
+ module Parlour::Debugging
95
+ class << self
96
+ # Set whether debug messages should be printed.
97
+ #
98
+ # source://parlour//lib/parlour/debugging.rb#16
99
+ sig { params(value: T::Boolean).returns(T::Boolean) }
100
+ def debug_mode=(value); end
101
+
102
+ # Whether debug messages sent by {.debug_puts} should be printed.
103
+ # Defaults to true if the PARLOUR_DEBUG environment variable is set.
104
+ #
105
+ # source://parlour//lib/parlour/debugging.rb#24
106
+ sig { returns(T::Boolean) }
107
+ def debug_mode?; end
108
+
109
+ # Prints a message with a debugging prefix to STDOUT if {.debug_mode?} is
110
+ # true.
111
+ #
112
+ # source://parlour//lib/parlour/debugging.rb#36
113
+ sig { params(object: T.untyped, message: ::String).void }
114
+ def debug_puts(object, message); end
115
+
116
+ # Converts the given object into a human-readable prefix to a debug message.
117
+ # For example, passing an instance of {ConflictResolver} returns
118
+ # "conflict resolver". If the object type is unknown, this returns its class
119
+ # name.
120
+ #
121
+ # source://parlour//lib/parlour/debugging.rb#50
122
+ sig { params(object: T.untyped).returns(::String) }
123
+ def name_for_debug_caller(object); end
124
+ end
125
+ end
126
+
127
+ # A module for generating a globally-consistent, nicely-formatted tree of
128
+ # output using Unicode block characters.
129
+ #
130
+ # source://parlour//lib/parlour/debugging.rb#66
131
+ class Parlour::Debugging::Tree
132
+ # source://parlour//lib/parlour/debugging.rb#78
133
+ sig { params(colour: T::Boolean).void }
134
+ def initialize(colour: T.unsafe(nil)); end
135
+
136
+ # Returns a new heading, and then decents the tree one level into it.
137
+ # (That is, future output will go under the new heading.)
138
+ #
139
+ # source://parlour//lib/parlour/debugging.rb#88
140
+ sig { params(message: ::String).returns(::String) }
141
+ def begin(message); end
142
+
143
+ # Whether to colour output or not.
144
+ #
145
+ # source://parlour//lib/parlour/debugging.rb#75
146
+ sig { returns(T::Boolean) }
147
+ def colour; end
148
+
149
+ # Prints the final tree element at the current level, then ascends one
150
+ # level.
151
+ #
152
+ # source://parlour//lib/parlour/debugging.rb#108
153
+ sig { params(message: ::String).returns(::String) }
154
+ def end(message); end
155
+
156
+ # Prints a new tree element at the current level.
157
+ #
158
+ # source://parlour//lib/parlour/debugging.rb#99
159
+ sig { params(message: ::String).returns(::String) }
160
+ def here(message); end
161
+
162
+ # Modifies the current indent level by the given offset.
163
+ #
164
+ # source://parlour//lib/parlour/debugging.rb#130
165
+ def indent!(offset); end
166
+
167
+ # The prefix which should be printed before anything else on this line of
168
+ # the tree, based on the current indent level.
169
+ #
170
+ # @return [String]
171
+ #
172
+ # source://parlour//lib/parlour/debugging.rb#117
173
+ def line_prefix; end
174
+
175
+ # The horizontal lines which should be printed between the beginning of
176
+ # the current element and its text, based on the specified number of
177
+ # spaces to use for indents.
178
+ #
179
+ # @return [String]
180
+ #
181
+ # source://parlour//lib/parlour/debugging.rb#125
182
+ def text_prefix; end
183
+ end
184
+
185
+ # The number of spaces to indent each layer of the tree by. Should be at
186
+ # least 1.
187
+ #
188
+ # source://parlour//lib/parlour/debugging.rb#71
189
+ Parlour::Debugging::Tree::INDENT_SPACES = T.let(T.unsafe(nil), Integer)
190
+
191
+ # source://parlour//lib/parlour/detached_rbi_generator.rb#4
192
+ class Parlour::DetachedRbiGenerator < ::Parlour::RbiGenerator
193
+ # source://parlour//lib/parlour/detached_rbi_generator.rb#16
194
+ sig { override.returns(T.nilable(::Parlour::Plugin)) }
195
+ def current_plugin; end
196
+
197
+ # source://parlour//lib/parlour/detached_rbi_generator.rb#6
198
+ sig { returns(T.untyped) }
199
+ def detached!; end
200
+
201
+ # source://parlour//lib/parlour/detached_rbi_generator.rb#11
202
+ sig { override.returns(::Parlour::Options) }
203
+ def options; end
204
+
205
+ # source://parlour//lib/parlour/detached_rbi_generator.rb#21
206
+ sig { override.params(strictness: ::String).returns(::String) }
207
+ def rbi(strictness = T.unsafe(nil)); end
208
+ end
209
+
210
+ # source://parlour//lib/parlour/detached_rbs_generator.rb#4
211
+ class Parlour::DetachedRbsGenerator < ::Parlour::RbsGenerator
212
+ # source://parlour//lib/parlour/detached_rbs_generator.rb#16
213
+ sig { override.returns(T.nilable(::Parlour::Plugin)) }
214
+ def current_plugin; end
215
+
216
+ # source://parlour//lib/parlour/detached_rbs_generator.rb#6
217
+ sig { returns(T.untyped) }
218
+ def detached!; end
219
+
220
+ # source://parlour//lib/parlour/detached_rbs_generator.rb#11
221
+ sig { override.returns(::Parlour::Options) }
222
+ def options; end
223
+
224
+ # source://parlour//lib/parlour/detached_rbs_generator.rb#21
225
+ sig { override.returns(::String) }
226
+ def rbs; end
227
+ end
228
+
229
+ # source://parlour//lib/parlour/generator.rb#3
230
+ class Parlour::Generator
231
+ # source://parlour//lib/parlour/generator.rb#15
232
+ sig { params(break_params: ::Integer, tab_size: ::Integer, sort_namespaces: T::Boolean).void }
233
+ def initialize(break_params: T.unsafe(nil), tab_size: T.unsafe(nil), sort_namespaces: T.unsafe(nil)); end
234
+
235
+ # source://parlour//lib/parlour/generator.rb#32
236
+ sig { overridable.returns(T.nilable(::Parlour::Plugin)) }
237
+ def current_plugin; end
238
+
239
+ # @return [Plugin, nil]
240
+ #
241
+ # source://parlour//lib/parlour/generator.rb#32
242
+ def current_plugin=(_arg0); end
243
+
244
+ # source://parlour//lib/parlour/generator.rb#26
245
+ sig { overridable.returns(::Parlour::Options) }
246
+ def options; end
247
+ end
248
+
249
+ # source://parlour//lib/parlour/mixin/searchable.rb#4
250
+ module Parlour::Mixin; end
251
+
252
+ # Extends a particular type system's Namespace class to provide searchable
253
+ # children.
254
+ #
255
+ # @abstract Subclasses must implement the `abstract` methods below.
256
+ #
257
+ # source://parlour//lib/parlour/mixin/searchable.rb#7
258
+ module Parlour::Mixin::Searchable
259
+ extend T::Generic
260
+
261
+ abstract!
262
+
263
+ Child = type_member { { upper: Parlour::TypedObject } }
264
+
265
+ # @abstract
266
+ #
267
+ # source://parlour//lib/parlour/mixin/searchable.rb#16
268
+ sig { abstract.returns(T::Array[Child]) }
269
+ def children; end
270
+
271
+ # source://parlour//lib/parlour/mixin/searchable.rb#24
272
+ sig { params(name: T.nilable(::String), type: T.nilable(::Class)).returns(Child) }
273
+ def find(name: T.unsafe(nil), type: T.unsafe(nil)); end
274
+
275
+ # source://parlour//lib/parlour/mixin/searchable.rb#34
276
+ sig { params(name: T.nilable(::String), type: T.nilable(::Class)).returns(T::Array[Child]) }
277
+ def find_all(name: T.unsafe(nil), type: T.unsafe(nil)); end
278
+
279
+ private
280
+
281
+ # source://parlour//lib/parlour/mixin/searchable.rb#48
282
+ sig { params(child: Child, name: T.nilable(::String), type: T.nilable(::Class)).returns(T::Boolean) }
283
+ def searchable_child_matches(child, name, type); end
284
+ end
285
+
286
+ # A set of immutable formatting options.
287
+ #
288
+ # source://parlour//lib/parlour/options.rb#4
289
+ class Parlour::Options
290
+ # source://parlour//lib/parlour/options.rb#19
291
+ sig { params(break_params: ::Integer, tab_size: ::Integer, sort_namespaces: T::Boolean).void }
292
+ def initialize(break_params:, tab_size:, sort_namespaces:); end
293
+
294
+ # source://parlour//lib/parlour/options.rb#43
295
+ sig { returns(::Integer) }
296
+ def break_params; end
297
+
298
+ # source://parlour//lib/parlour/options.rb#67
299
+ sig { params(level: ::Integer, str: ::String).returns(::String) }
300
+ def indented(level, str); end
301
+
302
+ # source://parlour//lib/parlour/options.rb#58
303
+ sig { returns(T::Boolean) }
304
+ def sort_namespaces; end
305
+
306
+ # source://parlour//lib/parlour/options.rb#48
307
+ sig { returns(::Integer) }
308
+ def tab_size; end
309
+ end
310
+
311
+ # source://parlour//lib/parlour/parse_error.rb#4
312
+ class Parlour::ParseError < ::StandardError
313
+ # @return [ParseError] a new instance of ParseError
314
+ #
315
+ # source://parlour//lib/parlour/parse_error.rb#13
316
+ def initialize(buffer, range); end
317
+
318
+ # source://parlour//lib/parlour/parse_error.rb#8
319
+ sig { returns(::Parser::Source::Buffer) }
320
+ def buffer; end
321
+
322
+ # source://parlour//lib/parlour/parse_error.rb#11
323
+ sig { returns(::Parser::Source::Range) }
324
+ def range; end
325
+ end
326
+
327
+ # The base class for user-defined RBI generation plugins.
328
+ #
329
+ # @abstract
330
+ #
331
+ # source://parlour//lib/parlour/plugin.rb#5
332
+ class Parlour::Plugin
333
+ abstract!
334
+
335
+ # source://parlour//lib/parlour/plugin.rb#54
336
+ sig { params(options: T::Hash[T.untyped, T.untyped]).void }
337
+ def initialize(options); end
338
+
339
+ # @abstract
340
+ #
341
+ # source://parlour//lib/parlour/plugin.rb#63
342
+ sig { abstract.params(root: Parlour::RbiGenerator::Namespace).void }
343
+ def generate(root); end
344
+
345
+ # source://parlour//lib/parlour/plugin.rb#70
346
+ sig { returns(T.nilable(::String)) }
347
+ def strictness; end
348
+
349
+ # @return [String, nil]
350
+ #
351
+ # source://parlour//lib/parlour/plugin.rb#70
352
+ def strictness=(_arg0); end
353
+
354
+ class << self
355
+ # source://parlour//lib/parlour/plugin.rb#27
356
+ sig { params(new_plugin: T.class_of(Parlour::Plugin)).void }
357
+ def inherited(new_plugin); end
358
+
359
+ # source://parlour//lib/parlour/plugin.rb#17
360
+ sig { returns(T::Hash[::String, T.class_of(Parlour::Plugin)]) }
361
+ def registered_plugins; end
362
+
363
+ # source://parlour//lib/parlour/plugin.rb#40
364
+ sig do
365
+ params(
366
+ plugins: T::Array[::Parlour::Plugin],
367
+ generator: ::Parlour::RbiGenerator,
368
+ allow_failure: T::Boolean
369
+ ).void
370
+ end
371
+ def run_plugins(plugins, generator, allow_failure: T.unsafe(nil)); end
372
+ end
373
+ end
374
+
375
+ # The RBI generator.
376
+ #
377
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#4
378
+ class Parlour::RbiGenerator < ::Parlour::Generator
379
+ # @return [RbiGenerator] a new instance of RbiGenerator
380
+ #
381
+ # source://parlour//lib/parlour/rbi_generator.rb#9
382
+ def initialize(**hash); end
383
+
384
+ # source://parlour//lib/parlour/rbi_generator.rb#23
385
+ sig { overridable.params(strictness: ::String).returns(::String) }
386
+ def rbi(strictness = T.unsafe(nil)); end
387
+
388
+ # source://parlour//lib/parlour/rbi_generator.rb#17
389
+ sig { overridable.returns(Parlour::RbiGenerator::Namespace) }
390
+ def root; end
391
+ end
392
+
393
+ # Represents miscellaneous Ruby code.
394
+ #
395
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#5
396
+ class Parlour::RbiGenerator::Arbitrary < ::Parlour::RbiGenerator::RbiObject
397
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#17
398
+ sig do
399
+ params(
400
+ generator: ::Parlour::Generator,
401
+ code: ::String,
402
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Arbitrary).void)
403
+ ).void
404
+ end
405
+ def initialize(generator, code: T.unsafe(nil), &block); end
406
+
407
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#33
408
+ sig { params(other: ::Object).returns(T::Boolean) }
409
+ def ==(other); end
410
+
411
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#25
412
+ sig { returns(::String) }
413
+ def code; end
414
+
415
+ # @return [String]
416
+ #
417
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#25
418
+ def code=(_arg0); end
419
+
420
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#84
421
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
422
+ def describe_attrs; end
423
+
424
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#89
425
+ sig { override.void }
426
+ def generalize_from_rbi!; end
427
+
428
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#48
429
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
430
+ def generate_rbi(indent_level, options); end
431
+
432
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#79
433
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
434
+ def merge_into_self(others); end
435
+
436
+ # source://parlour//lib/parlour/rbi_generator/arbitrary.rb#63
437
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
438
+ def mergeable?(others); end
439
+ end
440
+
441
+ # Represents an attribute reader, writer or accessor.
442
+ #
443
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#5
444
+ class Parlour::RbiGenerator::Attribute < ::Parlour::RbiGenerator::Method
445
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#28
446
+ sig do
447
+ params(
448
+ generator: ::Parlour::Generator,
449
+ name: ::String,
450
+ kind: ::Symbol,
451
+ type: T.any(::Parlour::Types::Type, ::String),
452
+ class_attribute: T::Boolean,
453
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void)
454
+ ).void
455
+ end
456
+ def initialize(generator, name, kind, type, class_attribute: T.unsafe(nil), &block); end
457
+
458
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#68
459
+ sig { override.params(other: ::Object).returns(T::Boolean) }
460
+ def ==(other); end
461
+
462
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#56
463
+ sig { returns(T::Boolean) }
464
+ def class_attribute; end
465
+
466
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#82
467
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
468
+ def describe_attrs; end
469
+
470
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#77
471
+ sig { override.void }
472
+ def generalize_from_rbi!; end
473
+
474
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#52
475
+ sig { returns(::Symbol) }
476
+ def kind; end
477
+
478
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#60
479
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
480
+ def type; end
481
+
482
+ private
483
+
484
+ # source://parlour//lib/parlour/rbi_generator/attribute.rb#103
485
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
486
+ def generate_definition(indent_level, options); end
487
+ end
488
+
489
+ # Represents a class definition.
490
+ #
491
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#5
492
+ class Parlour::RbiGenerator::ClassNamespace < ::Parlour::RbiGenerator::Namespace
493
+ extend T::Generic
494
+
495
+ Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } }
496
+
497
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#33
498
+ sig do
499
+ params(
500
+ generator: ::Parlour::Generator,
501
+ name: ::String,
502
+ final: T::Boolean,
503
+ sealed: T::Boolean,
504
+ superclass: T.nilable(::String),
505
+ abstract: T::Boolean,
506
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)
507
+ ).void
508
+ end
509
+ def initialize(generator, name, final, sealed, superclass, abstract, &block); end
510
+
511
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#70
512
+ sig { returns(T::Boolean) }
513
+ def abstract; end
514
+
515
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#116
516
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
517
+ def describe_attrs; end
518
+
519
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#122
520
+ sig { override.void }
521
+ def generalize_from_rbi!; end
522
+
523
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#50
524
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
525
+ def generate_rbi(indent_level, options); end
526
+
527
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#104
528
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
529
+ def merge_into_self(others); end
530
+
531
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#84
532
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
533
+ def mergeable?(others); end
534
+
535
+ # source://parlour//lib/parlour/rbi_generator/class_namespace.rb#65
536
+ sig { returns(T.nilable(::String)) }
537
+ def superclass; end
538
+ end
539
+
540
+ # Represents a constant definition.
541
+ #
542
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#5
543
+ class Parlour::RbiGenerator::Constant < ::Parlour::RbiGenerator::RbiObject
544
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#21
545
+ sig do
546
+ params(
547
+ generator: ::Parlour::Generator,
548
+ name: ::String,
549
+ value: T.any(::Parlour::Types::Type, ::String),
550
+ eigen_constant: T::Boolean,
551
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Constant).void)
552
+ ).void
553
+ end
554
+ def initialize(generator, name: T.unsafe(nil), value: T.unsafe(nil), eigen_constant: T.unsafe(nil), &block); end
555
+
556
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#42
557
+ sig { params(other: ::Object).returns(T::Boolean) }
558
+ def ==(other); end
559
+
560
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#99
561
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
562
+ def describe_attrs; end
563
+
564
+ # @return [Boolean] Whether this constant is defined on the eigenclass
565
+ # of the current namespace.
566
+ #
567
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#34
568
+ def eigen_constant; end
569
+
570
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#104
571
+ sig { override.void }
572
+ def generalize_from_rbi!; end
573
+
574
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#58
575
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
576
+ def generate_rbi(indent_level, options); end
577
+
578
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#94
579
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
580
+ def merge_into_self(others); end
581
+
582
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#77
583
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
584
+ def mergeable?(others); end
585
+
586
+ # source://parlour//lib/parlour/rbi_generator/constant.rb#30
587
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
588
+ def value; end
589
+ end
590
+
591
+ # Represents an enum definition; that is, a class with an +enum+ call.
592
+ #
593
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#5
594
+ class Parlour::RbiGenerator::EnumClassNamespace < ::Parlour::RbiGenerator::ClassNamespace
595
+ extend T::Generic
596
+
597
+ Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } }
598
+
599
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#32
600
+ sig do
601
+ params(
602
+ generator: ::Parlour::Generator,
603
+ name: ::String,
604
+ final: T::Boolean,
605
+ sealed: T::Boolean,
606
+ enums: T::Array[T.any(::String, [::String, ::String])],
607
+ abstract: T::Boolean,
608
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void)
609
+ ).void
610
+ end
611
+ def initialize(generator, name, final, sealed, enums, abstract, &block); end
612
+
613
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#121
614
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
615
+ def describe_attrs; end
616
+
617
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#40
618
+ sig { returns(T::Array[T.any(::String, [::String, ::String])]) }
619
+ def enums; end
620
+
621
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#116
622
+ sig { override.void }
623
+ def generalize_from_rbi!; end
624
+
625
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#54
626
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
627
+ def generate_body(indent_level, options); end
628
+
629
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#104
630
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
631
+ def merge_into_self(others); end
632
+
633
+ # source://parlour//lib/parlour/rbi_generator/enum_class_namespace.rb#86
634
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
635
+ def mergeable?(others); end
636
+ end
637
+
638
+ # Represents an +extend+ call.
639
+ #
640
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#5
641
+ class Parlour::RbiGenerator::Extend < ::Parlour::RbiGenerator::RbiObject
642
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#16
643
+ sig do
644
+ params(
645
+ generator: ::Parlour::Generator,
646
+ name: ::String,
647
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Extend).void)
648
+ ).void
649
+ end
650
+ def initialize(generator, name: T.unsafe(nil), &block); end
651
+
652
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#27
653
+ sig { params(other: ::Object).returns(T::Boolean) }
654
+ def ==(other); end
655
+
656
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#82
657
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
658
+ def describe_attrs; end
659
+
660
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#79
661
+ sig { override.void }
662
+ def generalize_from_rbi!; end
663
+
664
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#42
665
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
666
+ def generate_rbi(indent_level, options); end
667
+
668
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#74
669
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
670
+ def merge_into_self(others); end
671
+
672
+ # source://parlour//lib/parlour/rbi_generator/extend.rb#57
673
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
674
+ def mergeable?(others); end
675
+ end
676
+
677
+ # Represents an +include+ call.
678
+ #
679
+ # source://parlour//lib/parlour/rbi_generator/include.rb#5
680
+ class Parlour::RbiGenerator::Include < ::Parlour::RbiGenerator::RbiObject
681
+ # source://parlour//lib/parlour/rbi_generator/include.rb#16
682
+ sig do
683
+ params(
684
+ generator: ::Parlour::Generator,
685
+ name: ::String,
686
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Include).void)
687
+ ).void
688
+ end
689
+ def initialize(generator, name: T.unsafe(nil), &block); end
690
+
691
+ # source://parlour//lib/parlour/rbi_generator/include.rb#27
692
+ sig { params(other: ::Object).returns(T::Boolean) }
693
+ def ==(other); end
694
+
695
+ # source://parlour//lib/parlour/rbi_generator/include.rb#82
696
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
697
+ def describe_attrs; end
698
+
699
+ # source://parlour//lib/parlour/rbi_generator/include.rb#79
700
+ sig { override.void }
701
+ def generalize_from_rbi!; end
702
+
703
+ # source://parlour//lib/parlour/rbi_generator/include.rb#42
704
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
705
+ def generate_rbi(indent_level, options); end
706
+
707
+ # source://parlour//lib/parlour/rbi_generator/include.rb#74
708
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
709
+ def merge_into_self(others); end
710
+
711
+ # source://parlour//lib/parlour/rbi_generator/include.rb#57
712
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
713
+ def mergeable?(others); end
714
+ end
715
+
716
+ # Represents a method definition.
717
+ #
718
+ # source://parlour//lib/parlour/rbi_generator/method.rb#5
719
+ class Parlour::RbiGenerator::Method < ::Parlour::RbiGenerator::RbiObject
720
+ # source://parlour//lib/parlour/rbi_generator/method.rb#45
721
+ sig do
722
+ params(
723
+ generator: ::Parlour::Generator,
724
+ name: ::String,
725
+ parameters: T::Array[::Parlour::RbiGenerator::Parameter],
726
+ return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)),
727
+ abstract: T::Boolean,
728
+ implementation: T::Boolean,
729
+ override: T::Boolean,
730
+ overridable: T::Boolean,
731
+ class_method: T::Boolean,
732
+ final: T::Boolean,
733
+ type_parameters: T.nilable(T::Array[::Symbol]),
734
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Method).void)
735
+ ).void
736
+ end
737
+ def initialize(generator, name, parameters, return_type = T.unsafe(nil), abstract: T.unsafe(nil), implementation: T.unsafe(nil), override: T.unsafe(nil), overridable: T.unsafe(nil), class_method: T.unsafe(nil), final: T.unsafe(nil), type_parameters: T.unsafe(nil), &block); end
738
+
739
+ # source://parlour//lib/parlour/rbi_generator/method.rb#65
740
+ sig { overridable.params(other: ::Object).returns(T::Boolean) }
741
+ def ==(other); end
742
+
743
+ # source://parlour//lib/parlour/rbi_generator/method.rb#92
744
+ sig { returns(T::Boolean) }
745
+ def abstract; end
746
+
747
+ # source://parlour//lib/parlour/rbi_generator/method.rb#117
748
+ sig { returns(T::Boolean) }
749
+ def class_method; end
750
+
751
+ # source://parlour//lib/parlour/rbi_generator/method.rb#217
752
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
753
+ def describe_attrs; end
754
+
755
+ # source://parlour//lib/parlour/rbi_generator/method.rb#122
756
+ sig { returns(T::Boolean) }
757
+ def final; end
758
+
759
+ # source://parlour//lib/parlour/rbi_generator/method.rb#210
760
+ sig { override.void }
761
+ def generalize_from_rbi!; end
762
+
763
+ # source://parlour//lib/parlour/rbi_generator/method.rb#140
764
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
765
+ def generate_rbi(indent_level, options); end
766
+
767
+ # source://parlour//lib/parlour/rbi_generator/method.rb#100
768
+ sig { returns(T::Boolean) }
769
+ def implementation; end
770
+
771
+ # source://parlour//lib/parlour/rbi_generator/method.rb#205
772
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
773
+ def merge_into_self(others); end
774
+
775
+ # source://parlour//lib/parlour/rbi_generator/method.rb#188
776
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
777
+ def mergeable?(others); end
778
+
779
+ # source://parlour//lib/parlour/rbi_generator/method.rb#111
780
+ sig { returns(T::Boolean) }
781
+ def overridable; end
782
+
783
+ # source://parlour//lib/parlour/rbi_generator/method.rb#106
784
+ sig { returns(T::Boolean) }
785
+ def override; end
786
+
787
+ # source://parlour//lib/parlour/rbi_generator/method.rb#82
788
+ sig { returns(T::Array[::Parlour::RbiGenerator::Parameter]) }
789
+ def parameters; end
790
+
791
+ # source://parlour//lib/parlour/rbi_generator/method.rb#87
792
+ sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) }
793
+ def return_type; end
794
+
795
+ # source://parlour//lib/parlour/rbi_generator/method.rb#127
796
+ sig { returns(T::Array[::Symbol]) }
797
+ def type_parameters; end
798
+
799
+ private
800
+
801
+ # source://parlour//lib/parlour/rbi_generator/method.rb#244
802
+ sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
803
+ def generate_definition(indent_level, options); end
804
+
805
+ # source://parlour//lib/parlour/rbi_generator/method.rb#261
806
+ sig { returns(::String) }
807
+ def qualifiers; end
808
+ end
809
+
810
+ # Represents a module definition.
811
+ #
812
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#5
813
+ class Parlour::RbiGenerator::ModuleNamespace < ::Parlour::RbiGenerator::Namespace
814
+ extend T::Generic
815
+
816
+ Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } }
817
+
818
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#33
819
+ sig do
820
+ params(
821
+ generator: ::Parlour::Generator,
822
+ name: ::String,
823
+ final: T::Boolean,
824
+ sealed: T::Boolean,
825
+ interface: T::Boolean,
826
+ abstract: T::Boolean,
827
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)
828
+ ).void
829
+ end
830
+ def initialize(generator, name, final, sealed, interface, abstract, &block); end
831
+
832
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#68
833
+ sig { returns(T::Boolean) }
834
+ def abstract; end
835
+
836
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#111
837
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
838
+ def describe_attrs; end
839
+
840
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#106
841
+ sig { override.void }
842
+ def generalize_from_rbi!; end
843
+
844
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#51
845
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
846
+ def generate_rbi(indent_level, options); end
847
+
848
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#63
849
+ sig { returns(T::Boolean) }
850
+ def interface; end
851
+
852
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#101
853
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
854
+ def merge_into_self(others); end
855
+
856
+ # source://parlour//lib/parlour/rbi_generator/module_namespace.rb#82
857
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
858
+ def mergeable?(others); end
859
+ end
860
+
861
+ # A generic namespace. This shouldn't be used, except as the type of
862
+ # {RbiGenerator#root}.
863
+ #
864
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#6
865
+ class Parlour::RbiGenerator::Namespace < ::Parlour::RbiGenerator::RbiObject
866
+ extend T::Generic
867
+ include ::Parlour::Mixin::Searchable
868
+
869
+ Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } }
870
+
871
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#45
872
+ sig do
873
+ params(
874
+ generator: ::Parlour::Generator,
875
+ name: T.nilable(::String),
876
+ final: T::Boolean,
877
+ sealed: T::Boolean,
878
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Namespace).void)
879
+ ).void
880
+ end
881
+ def initialize(generator, name = T.unsafe(nil), final = T.unsafe(nil), sealed = T.unsafe(nil), &block); end
882
+
883
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#157
884
+ sig { params(comment: T.any(::String, T::Array[::String])).void }
885
+ def add_comment_to_next_child(comment); end
886
+
887
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#95
888
+ sig { returns(T::Array[::Parlour::RbiGenerator::TypeAlias]) }
889
+ def aliases; end
890
+
891
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#67
892
+ sig { override.returns(T::Array[::Parlour::RbiGenerator::RbiObject]) }
893
+ def children; end
894
+
895
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#106
896
+ sig { returns(T::Array[::Parlour::RbiGenerator::Constant]) }
897
+ def constants; end
898
+
899
+ # Creates a new arbitrary code section.
900
+ # You should rarely have to use this!
901
+ #
902
+ # @param code [String] The code to insert.
903
+ # @param block A block which the new instance yields itself to.
904
+ # @return [RbiGenerator::Arbitrary]
905
+ #
906
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#482
907
+ def create_arbitrary(code:, &block); end
908
+
909
+ # @param name [String]
910
+ # @param kind [Symbol]
911
+ # @param type [Types::TypeLike]
912
+ # @param class_attribute [Boolean]
913
+ # @param block [T.proc.params(x: Attribute).void, nil]
914
+ # @return [Attribute]
915
+ #
916
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
917
+ def create_attr(*args, **_arg1, &blk); end
918
+
919
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#472
920
+ sig do
921
+ params(
922
+ name: ::String,
923
+ type: T.any(::Parlour::Types::Type, ::String),
924
+ class_attribute: T::Boolean,
925
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void)
926
+ ).returns(::Parlour::RbiGenerator::Attribute)
927
+ end
928
+ def create_attr_accessor(name, type:, class_attribute: T.unsafe(nil), &block); end
929
+
930
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#430
931
+ sig do
932
+ params(
933
+ name: ::String,
934
+ type: T.any(::Parlour::Types::Type, ::String),
935
+ class_attribute: T::Boolean,
936
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void)
937
+ ).returns(::Parlour::RbiGenerator::Attribute)
938
+ end
939
+ def create_attr_reader(name, type:, class_attribute: T.unsafe(nil), &block); end
940
+
941
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#451
942
+ sig do
943
+ params(
944
+ name: ::String,
945
+ type: T.any(::Parlour::Types::Type, ::String),
946
+ class_attribute: T::Boolean,
947
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void)
948
+ ).returns(::Parlour::RbiGenerator::Attribute)
949
+ end
950
+ def create_attr_writer(name, type:, class_attribute: T.unsafe(nil), &block); end
951
+
952
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#398
953
+ sig do
954
+ params(
955
+ name: ::String,
956
+ kind: ::Symbol,
957
+ type: T.any(::Parlour::Types::Type, ::String),
958
+ class_attribute: T::Boolean,
959
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void)
960
+ ).returns(::Parlour::RbiGenerator::Attribute)
961
+ end
962
+ def create_attribute(name, kind:, type:, class_attribute: T.unsafe(nil), &block); end
963
+
964
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#193
965
+ sig do
966
+ params(
967
+ name: ::String,
968
+ final: T::Boolean,
969
+ sealed: T::Boolean,
970
+ superclass: T.nilable(::String),
971
+ abstract: T::Boolean,
972
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)
973
+ ).returns(Parlour::RbiGenerator::ClassNamespace)
974
+ end
975
+ def create_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), superclass: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
976
+
977
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#579
978
+ sig do
979
+ params(
980
+ name: ::String,
981
+ value: ::String,
982
+ eigen_constant: T::Boolean,
983
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Constant).void)
984
+ ).returns(::Parlour::RbiGenerator::Constant)
985
+ end
986
+ def create_constant(name, value:, eigen_constant: T.unsafe(nil), &block); end
987
+
988
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#222
989
+ sig do
990
+ params(
991
+ name: ::String,
992
+ final: T::Boolean,
993
+ sealed: T::Boolean,
994
+ enums: T.nilable(T::Array[T.any(::String, [::String, ::String])]),
995
+ abstract: T::Boolean,
996
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void)
997
+ ).returns(Parlour::RbiGenerator::EnumClassNamespace)
998
+ end
999
+ def create_enum_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), enums: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
1000
+
1001
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#503
1002
+ sig do
1003
+ params(
1004
+ name: ::String,
1005
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Extend).void)
1006
+ ).returns(::Parlour::RbiGenerator::Extend)
1007
+ end
1008
+ def create_extend(name, &block); end
1009
+
1010
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#522
1011
+ sig { params(extendables: T::Array[::String]).returns(T::Array[::Parlour::RbiGenerator::Extend]) }
1012
+ def create_extends(extendables); end
1013
+
1014
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#540
1015
+ sig do
1016
+ params(
1017
+ name: ::String,
1018
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Include).void)
1019
+ ).returns(::Parlour::RbiGenerator::Include)
1020
+ end
1021
+ def create_include(name, &block); end
1022
+
1023
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#559
1024
+ sig { params(includables: T::Array[::String]).returns(T::Array[::Parlour::RbiGenerator::Include]) }
1025
+ def create_includes(includables); end
1026
+
1027
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#333
1028
+ sig do
1029
+ params(
1030
+ name: ::String,
1031
+ parameters: T.nilable(T::Array[::Parlour::RbiGenerator::Parameter]),
1032
+ return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1033
+ returns: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1034
+ abstract: T::Boolean,
1035
+ implementation: T::Boolean,
1036
+ override: T::Boolean,
1037
+ overridable: T::Boolean,
1038
+ class_method: T::Boolean,
1039
+ final: T::Boolean,
1040
+ type_parameters: T.nilable(T::Array[::Symbol]),
1041
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Method).void)
1042
+ ).returns(::Parlour::RbiGenerator::Method)
1043
+ end
1044
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), returns: T.unsafe(nil), abstract: T.unsafe(nil), implementation: T.unsafe(nil), override: T.unsafe(nil), overridable: T.unsafe(nil), class_method: T.unsafe(nil), final: T.unsafe(nil), type_parameters: T.unsafe(nil), &block); end
1045
+
1046
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#289
1047
+ sig do
1048
+ params(
1049
+ name: ::String,
1050
+ final: T::Boolean,
1051
+ sealed: T::Boolean,
1052
+ interface: T::Boolean,
1053
+ abstract: T::Boolean,
1054
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)
1055
+ ).returns(Parlour::RbiGenerator::ModuleNamespace)
1056
+ end
1057
+ def create_module(name, final: T.unsafe(nil), sealed: T.unsafe(nil), interface: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
1058
+
1059
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#253
1060
+ sig do
1061
+ params(
1062
+ name: ::String,
1063
+ final: T::Boolean,
1064
+ sealed: T::Boolean,
1065
+ props: T.nilable(T::Array[::Parlour::RbiGenerator::StructProp]),
1066
+ abstract: T::Boolean,
1067
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void)
1068
+ ).returns(Parlour::RbiGenerator::StructClassNamespace)
1069
+ end
1070
+ def create_struct_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), props: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
1071
+
1072
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#602
1073
+ sig do
1074
+ params(
1075
+ name: ::String,
1076
+ type: T.any(::Parlour::Types::Type, ::String),
1077
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::TypeAlias).void)
1078
+ ).returns(::Parlour::RbiGenerator::TypeAlias)
1079
+ end
1080
+ def create_type_alias(name, type:, &block); end
1081
+
1082
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#660
1083
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1084
+ def describe_attrs; end
1085
+
1086
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#75
1087
+ sig { returns(T::Array[::Parlour::RbiGenerator::Extend]) }
1088
+ def extends; end
1089
+
1090
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#57
1091
+ sig { returns(T::Boolean) }
1092
+ def final; end
1093
+
1094
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#655
1095
+ sig { override.void }
1096
+ def generalize_from_rbi!; end
1097
+
1098
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#21
1099
+ sig { override.overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1100
+ def generate_rbi(indent_level, options); end
1101
+
1102
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#85
1103
+ sig { returns(T::Array[::Parlour::RbiGenerator::Include]) }
1104
+ def includes; end
1105
+
1106
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#645
1107
+ sig { override.overridable.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
1108
+ def merge_into_self(others); end
1109
+
1110
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#627
1111
+ sig { override.overridable.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
1112
+ def mergeable?(others); end
1113
+
1114
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#120
1115
+ sig { params(constant: ::Module, block: T.proc.params(x: Parlour::RbiGenerator::Namespace).void).void }
1116
+ def path(constant, &block); end
1117
+
1118
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#62
1119
+ sig { returns(T::Boolean) }
1120
+ def sealed; end
1121
+
1122
+ # @return [Array<RbiGenerator::TypeAlias>]
1123
+ #
1124
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
1125
+ def type_aliases(*args, **_arg1, &blk); end
1126
+
1127
+ private
1128
+
1129
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#678
1130
+ sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1131
+ def generate_body(indent_level, options); end
1132
+
1133
+ # source://parlour//lib/parlour/rbi_generator/namespace.rb#769
1134
+ sig { params(object: ::Parlour::RbiGenerator::RbiObject).void }
1135
+ def move_next_comments(object); end
1136
+ end
1137
+
1138
+ # For backwards compatibility.
1139
+ # Before Parlour 5.0, Parlour::Options was Parlour::RbiGenerator::Options.
1140
+ #
1141
+ # source://parlour//lib/parlour/rbi_generator.rb#7
1142
+ Parlour::RbiGenerator::Options = Parlour::Options
1143
+
1144
+ # Represents a method parameter with a Sorbet type signature.
1145
+ #
1146
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#6
1147
+ class Parlour::RbiGenerator::Parameter
1148
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#37
1149
+ sig do
1150
+ params(
1151
+ name: ::String,
1152
+ type: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1153
+ default: T.nilable(::String)
1154
+ ).void
1155
+ end
1156
+ def initialize(name, type: T.unsafe(nil), default: T.unsafe(nil)); end
1157
+
1158
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#56
1159
+ sig { params(other: ::Object).returns(T::Boolean) }
1160
+ def ==(other); end
1161
+
1162
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#95
1163
+ sig { returns(T.nilable(::String)) }
1164
+ def default; end
1165
+
1166
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#139
1167
+ sig { returns(::String) }
1168
+ def describe_in_method; end
1169
+
1170
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#134
1171
+ sig { void }
1172
+ def generalize_from_rbi!; end
1173
+
1174
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#101
1175
+ sig { returns(::Symbol) }
1176
+ def kind; end
1177
+
1178
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#68
1179
+ sig { returns(::String) }
1180
+ def name; end
1181
+
1182
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#75
1183
+ sig { returns(::String) }
1184
+ def name_without_kind; end
1185
+
1186
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#107
1187
+ sig { returns(::String) }
1188
+ def to_def_param; end
1189
+
1190
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#121
1191
+ sig { returns(::String) }
1192
+ def to_sig_param; end
1193
+
1194
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#88
1195
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1196
+ def type; end
1197
+ end
1198
+
1199
+ # A mapping of {kind} values to the characteristic prefixes each kind has.
1200
+ #
1201
+ # source://parlour//lib/parlour/rbi_generator/parameter.rb#126
1202
+ Parlour::RbiGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash)
1203
+
1204
+ # An abstract class which is subclassed by any classes which can generate
1205
+ # entire lines of an RBI, such as {Namespace} and {Method}. (As an example,
1206
+ # {Parameter} is _not_ a subclass because it does not generate lines, only
1207
+ # segments of definition and signature lines.)
1208
+ #
1209
+ # @abstract
1210
+ #
1211
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#9
1212
+ class Parlour::RbiGenerator::RbiObject < ::Parlour::TypedObject
1213
+ abstract!
1214
+
1215
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#19
1216
+ sig { params(generator: ::Parlour::Generator, name: ::String).void }
1217
+ def initialize(generator, name); end
1218
+
1219
+ # @abstract
1220
+ #
1221
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#79
1222
+ sig { abstract.void }
1223
+ def generalize_from_rbi!; end
1224
+
1225
+ # @abstract
1226
+ #
1227
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#42
1228
+ sig { abstract.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1229
+ def generate_rbi(indent_level, options); end
1230
+
1231
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#28
1232
+ sig { returns(::Parlour::Generator) }
1233
+ def generator; end
1234
+
1235
+ # @abstract
1236
+ #
1237
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#70
1238
+ sig { abstract.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
1239
+ def merge_into_self(others); end
1240
+
1241
+ # @abstract
1242
+ #
1243
+ # source://parlour//lib/parlour/rbi_generator/rbi_object.rb#56
1244
+ sig { abstract.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
1245
+ def mergeable?(others); end
1246
+ end
1247
+
1248
+ # Represents an struct definition; that is, a class which subclasses
1249
+ # +T::Struct+ and declares `prop` members.
1250
+ #
1251
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#6
1252
+ class Parlour::RbiGenerator::StructClassNamespace < ::Parlour::RbiGenerator::ClassNamespace
1253
+ extend T::Generic
1254
+
1255
+ Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } }
1256
+
1257
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#33
1258
+ sig do
1259
+ params(
1260
+ generator: ::Parlour::Generator,
1261
+ name: ::String,
1262
+ final: T::Boolean,
1263
+ sealed: T::Boolean,
1264
+ props: T::Array[::Parlour::RbiGenerator::StructProp],
1265
+ abstract: T::Boolean,
1266
+ block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void)
1267
+ ).void
1268
+ end
1269
+ def initialize(generator, name, final, sealed, props, abstract, &block); end
1270
+
1271
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#114
1272
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1273
+ def describe_attrs; end
1274
+
1275
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#107
1276
+ sig { override.void }
1277
+ def generalize_from_rbi!; end
1278
+
1279
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#55
1280
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1281
+ def generate_body(indent_level, options); end
1282
+
1283
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#95
1284
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
1285
+ def merge_into_self(others); end
1286
+
1287
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#77
1288
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
1289
+ def mergeable?(others); end
1290
+
1291
+ # source://parlour//lib/parlour/rbi_generator/struct_class_namespace.rb#41
1292
+ sig { returns(T::Array[::Parlour::RbiGenerator::StructProp]) }
1293
+ def props; end
1294
+ end
1295
+
1296
+ # Represents a +T::Struct+ property.
1297
+ #
1298
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#5
1299
+ class Parlour::RbiGenerator::StructProp
1300
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#33
1301
+ sig do
1302
+ params(
1303
+ name: ::String,
1304
+ type: T.any(::Parlour::Types::Type, ::String),
1305
+ optional: T.nilable(T.any(::Symbol, T::Boolean)),
1306
+ enum: T.nilable(::String),
1307
+ dont_store: T.nilable(T::Boolean),
1308
+ foreign: T.nilable(::String),
1309
+ default: T.nilable(::String),
1310
+ factory: T.nilable(::String),
1311
+ immutable: T.nilable(T::Boolean),
1312
+ array: T.nilable(::String),
1313
+ override: T.nilable(T::Boolean),
1314
+ redaction: T.nilable(::String)
1315
+ ).void
1316
+ end
1317
+ def initialize(name, type, optional: T.unsafe(nil), enum: T.unsafe(nil), dont_store: T.unsafe(nil), foreign: T.unsafe(nil), default: T.unsafe(nil), factory: T.unsafe(nil), immutable: T.unsafe(nil), array: T.unsafe(nil), override: T.unsafe(nil), redaction: T.unsafe(nil)); end
1318
+
1319
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#57
1320
+ sig { params(other: ::Object).returns(T::Boolean) }
1321
+ def ==(other); end
1322
+
1323
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#106
1324
+ sig { returns(T.nilable(::String)) }
1325
+ def array; end
1326
+
1327
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#97
1328
+ sig { returns(T.nilable(::String)) }
1329
+ def default; end
1330
+
1331
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#91
1332
+ sig { returns(T.nilable(T::Boolean)) }
1333
+ def dont_store; end
1334
+
1335
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#88
1336
+ sig { returns(T.nilable(::String)) }
1337
+ def enum; end
1338
+
1339
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#100
1340
+ sig { returns(T.nilable(::String)) }
1341
+ def factory; end
1342
+
1343
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#94
1344
+ sig { returns(T.nilable(::String)) }
1345
+ def foreign; end
1346
+
1347
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#134
1348
+ sig { void }
1349
+ def generalize_from_rbi!; end
1350
+
1351
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#103
1352
+ sig { returns(T.nilable(T::Boolean)) }
1353
+ def immutable; end
1354
+
1355
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#77
1356
+ sig { returns(::String) }
1357
+ def name; end
1358
+
1359
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#85
1360
+ sig { returns(T.nilable(T.any(::Symbol, T::Boolean))) }
1361
+ def optional; end
1362
+
1363
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#109
1364
+ sig { returns(T.nilable(T::Boolean)) }
1365
+ def override; end
1366
+
1367
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#112
1368
+ sig { returns(T.nilable(::String)) }
1369
+ def redaction; end
1370
+
1371
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#122
1372
+ sig { returns(::String) }
1373
+ def to_prop_call; end
1374
+
1375
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#82
1376
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1377
+ def type; end
1378
+ end
1379
+
1380
+ # The optional properties available on instances of this class.
1381
+ #
1382
+ # source://parlour//lib/parlour/rbi_generator/struct_prop.rb#115
1383
+ Parlour::RbiGenerator::StructProp::EXTRA_PROPERTIES = T.let(T.unsafe(nil), Array)
1384
+
1385
+ # Represents a type alias.
1386
+ #
1387
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#5
1388
+ class Parlour::RbiGenerator::TypeAlias < ::Parlour::RbiGenerator::RbiObject
1389
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#18
1390
+ sig do
1391
+ params(
1392
+ generator: ::Parlour::Generator,
1393
+ name: ::String,
1394
+ type: T.any(::Parlour::Types::Type, ::String),
1395
+ block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::TypeAlias).void)
1396
+ ).void
1397
+ end
1398
+ def initialize(generator, name:, type:, &block); end
1399
+
1400
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#34
1401
+ sig { params(other: ::Object).returns(T::Boolean) }
1402
+ def ==(other); end
1403
+
1404
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#93
1405
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1406
+ def describe_attrs; end
1407
+
1408
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#88
1409
+ sig { override.void }
1410
+ def generalize_from_rbi!; end
1411
+
1412
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#49
1413
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1414
+ def generate_rbi(indent_level, options); end
1415
+
1416
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#83
1417
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void }
1418
+ def merge_into_self(others); end
1419
+
1420
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#66
1421
+ sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
1422
+ def mergeable?(others); end
1423
+
1424
+ # source://parlour//lib/parlour/rbi_generator/type_alias.rb#26
1425
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1426
+ def type; end
1427
+ end
1428
+
1429
+ # The RBS generator.
1430
+ #
1431
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#3
1432
+ class Parlour::RbsGenerator < ::Parlour::Generator
1433
+ # @return [RbsGenerator] a new instance of RbsGenerator
1434
+ #
1435
+ # source://parlour//lib/parlour/rbs_generator.rb#5
1436
+ def initialize(**hash); end
1437
+
1438
+ # source://parlour//lib/parlour/rbs_generator.rb#19
1439
+ sig { overridable.returns(::String) }
1440
+ def rbs; end
1441
+
1442
+ # source://parlour//lib/parlour/rbs_generator.rb#13
1443
+ sig { overridable.returns(Parlour::RbsGenerator::Namespace) }
1444
+ def root; end
1445
+ end
1446
+
1447
+ # Represents miscellaneous Ruby code.
1448
+ #
1449
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#5
1450
+ class Parlour::RbsGenerator::Arbitrary < ::Parlour::RbsGenerator::RbsObject
1451
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#17
1452
+ sig do
1453
+ params(
1454
+ generator: ::Parlour::Generator,
1455
+ code: ::String,
1456
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Arbitrary).void)
1457
+ ).void
1458
+ end
1459
+ def initialize(generator, code: T.unsafe(nil), &block); end
1460
+
1461
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#33
1462
+ sig { params(other: ::Object).returns(T::Boolean) }
1463
+ def ==(other); end
1464
+
1465
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#25
1466
+ sig { returns(::String) }
1467
+ def code; end
1468
+
1469
+ # @return [String]
1470
+ #
1471
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#25
1472
+ def code=(_arg0); end
1473
+
1474
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#84
1475
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1476
+ def describe_attrs; end
1477
+
1478
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#48
1479
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1480
+ def generate_rbs(indent_level, options); end
1481
+
1482
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#79
1483
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1484
+ def merge_into_self(others); end
1485
+
1486
+ # source://parlour//lib/parlour/rbs_generator/arbitrary.rb#63
1487
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1488
+ def mergeable?(others); end
1489
+ end
1490
+
1491
+ # Represents an attribute reader, writer or accessor.
1492
+ #
1493
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#5
1494
+ class Parlour::RbsGenerator::Attribute < ::Parlour::RbsGenerator::Method
1495
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#27
1496
+ sig do
1497
+ params(
1498
+ generator: ::Parlour::Generator,
1499
+ name: ::String,
1500
+ kind: ::Symbol,
1501
+ type: T.any(::Parlour::Types::Type, ::String),
1502
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void)
1503
+ ).void
1504
+ end
1505
+ def initialize(generator, name, kind, type, &block); end
1506
+
1507
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#75
1508
+ sig { override.params(other: ::Object).returns(T::Boolean) }
1509
+ def ==(other); end
1510
+
1511
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#82
1512
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1513
+ def describe_attrs; end
1514
+
1515
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#62
1516
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1517
+ def generate_rbs(indent_level, options); end
1518
+
1519
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#45
1520
+ sig { returns(::Symbol) }
1521
+ def kind; end
1522
+
1523
+ # source://parlour//lib/parlour/rbs_generator/attribute.rb#49
1524
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1525
+ def type; end
1526
+ end
1527
+
1528
+ # Represents a block in a method signature.
1529
+ # (This is not an RbsObject because it doesn't generate a full line.)
1530
+ #
1531
+ # source://parlour//lib/parlour/rbs_generator/block.rb#6
1532
+ class Parlour::RbsGenerator::Block
1533
+ # source://parlour//lib/parlour/rbs_generator/block.rb#14
1534
+ sig { params(type: ::Parlour::Types::Proc, required: T::Boolean).void }
1535
+ def initialize(type, required); end
1536
+
1537
+ # source://parlour//lib/parlour/rbs_generator/block.rb#25
1538
+ sig { overridable.params(other: ::Object).returns(T::Boolean) }
1539
+ def ==(other); end
1540
+
1541
+ # source://parlour//lib/parlour/rbs_generator/block.rb#44
1542
+ sig { params(options: ::Parlour::Options).returns(T::Array[::String]) }
1543
+ def generate_rbs(options); end
1544
+
1545
+ # source://parlour//lib/parlour/rbs_generator/block.rb#37
1546
+ sig { returns(T::Boolean) }
1547
+ def required; end
1548
+
1549
+ # source://parlour//lib/parlour/rbs_generator/block.rb#32
1550
+ sig { returns(::Parlour::Types::Proc) }
1551
+ def type; end
1552
+ end
1553
+
1554
+ # Represents a class definition.
1555
+ #
1556
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#5
1557
+ class Parlour::RbsGenerator::ClassNamespace < ::Parlour::RbsGenerator::Namespace
1558
+ extend T::Generic
1559
+
1560
+ Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } }
1561
+
1562
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#27
1563
+ sig do
1564
+ params(
1565
+ generator: ::Parlour::Generator,
1566
+ name: ::String,
1567
+ superclass: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1568
+ block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void)
1569
+ ).void
1570
+ end
1571
+ def initialize(generator, name, superclass, &block); end
1572
+
1573
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#97
1574
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1575
+ def describe_attrs; end
1576
+
1577
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#38
1578
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1579
+ def generate_rbs(indent_level, options); end
1580
+
1581
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#85
1582
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1583
+ def merge_into_self(others); end
1584
+
1585
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#66
1586
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1587
+ def mergeable?(others); end
1588
+
1589
+ # source://parlour//lib/parlour/rbs_generator/class_namespace.rb#52
1590
+ sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) }
1591
+ def superclass; end
1592
+ end
1593
+
1594
+ # Represents a constant definition.
1595
+ #
1596
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#5
1597
+ class Parlour::RbsGenerator::Constant < ::Parlour::RbsGenerator::RbsObject
1598
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#19
1599
+ sig do
1600
+ params(
1601
+ generator: ::Parlour::Generator,
1602
+ name: ::String,
1603
+ type: T.any(::Parlour::Types::Type, ::String),
1604
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Constant).void)
1605
+ ).void
1606
+ end
1607
+ def initialize(generator, name, type:, &block); end
1608
+
1609
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#35
1610
+ sig { params(other: ::Object).returns(T::Boolean) }
1611
+ def ==(other); end
1612
+
1613
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#87
1614
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1615
+ def describe_attrs; end
1616
+
1617
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#50
1618
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1619
+ def generate_rbs(indent_level, options); end
1620
+
1621
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#82
1622
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1623
+ def merge_into_self(others); end
1624
+
1625
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#65
1626
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1627
+ def mergeable?(others); end
1628
+
1629
+ # source://parlour//lib/parlour/rbs_generator/constant.rb#27
1630
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1631
+ def type; end
1632
+ end
1633
+
1634
+ # Represents an +extend+ call.
1635
+ #
1636
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#5
1637
+ class Parlour::RbsGenerator::Extend < ::Parlour::RbsGenerator::RbsObject
1638
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#16
1639
+ sig do
1640
+ params(
1641
+ generator: ::Parlour::Generator,
1642
+ type: T.any(::Parlour::Types::Type, ::String),
1643
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Extend).void)
1644
+ ).void
1645
+ end
1646
+ def initialize(generator, type:, &block); end
1647
+
1648
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#28
1649
+ sig { params(other: ::Object).returns(T::Boolean) }
1650
+ def ==(other); end
1651
+
1652
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#84
1653
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1654
+ def describe_attrs; end
1655
+
1656
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#47
1657
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1658
+ def generate_rbs(indent_level, options); end
1659
+
1660
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#79
1661
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1662
+ def merge_into_self(others); end
1663
+
1664
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#62
1665
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1666
+ def mergeable?(others); end
1667
+
1668
+ # source://parlour//lib/parlour/rbs_generator/extend.rb#34
1669
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1670
+ def type; end
1671
+ end
1672
+
1673
+ # Represents an +include+ call.
1674
+ #
1675
+ # source://parlour//lib/parlour/rbs_generator/include.rb#5
1676
+ class Parlour::RbsGenerator::Include < ::Parlour::RbsGenerator::RbsObject
1677
+ # source://parlour//lib/parlour/rbs_generator/include.rb#16
1678
+ sig do
1679
+ params(
1680
+ generator: ::Parlour::Generator,
1681
+ type: T.any(::Parlour::Types::Type, ::String),
1682
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Include).void)
1683
+ ).void
1684
+ end
1685
+ def initialize(generator, type:, &block); end
1686
+
1687
+ # source://parlour//lib/parlour/rbs_generator/include.rb#28
1688
+ sig { params(other: ::Object).returns(T::Boolean) }
1689
+ def ==(other); end
1690
+
1691
+ # source://parlour//lib/parlour/rbs_generator/include.rb#84
1692
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1693
+ def describe_attrs; end
1694
+
1695
+ # source://parlour//lib/parlour/rbs_generator/include.rb#47
1696
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1697
+ def generate_rbs(indent_level, options); end
1698
+
1699
+ # source://parlour//lib/parlour/rbs_generator/include.rb#79
1700
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1701
+ def merge_into_self(others); end
1702
+
1703
+ # source://parlour//lib/parlour/rbs_generator/include.rb#62
1704
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1705
+ def mergeable?(others); end
1706
+
1707
+ # source://parlour//lib/parlour/rbs_generator/include.rb#34
1708
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
1709
+ def type; end
1710
+ end
1711
+
1712
+ # Represents an interface definition.
1713
+ #
1714
+ # source://parlour//lib/parlour/rbs_generator/interface_namespace.rb#5
1715
+ class Parlour::RbsGenerator::InterfaceNamespace < ::Parlour::RbsGenerator::Namespace
1716
+ extend T::Generic
1717
+
1718
+ Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } }
1719
+
1720
+ # source://parlour//lib/parlour/rbs_generator/interface_namespace.rb#29
1721
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1722
+ def describe_attrs; end
1723
+
1724
+ # source://parlour//lib/parlour/rbs_generator/interface_namespace.rb#21
1725
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1726
+ def generate_rbs(indent_level, options); end
1727
+ end
1728
+
1729
+ # Represents a method definition.
1730
+ #
1731
+ # source://parlour//lib/parlour/rbs_generator/method.rb#5
1732
+ class Parlour::RbsGenerator::Method < ::Parlour::RbsGenerator::RbsObject
1733
+ # source://parlour//lib/parlour/rbs_generator/method.rb#29
1734
+ sig do
1735
+ params(
1736
+ generator: ::Parlour::Generator,
1737
+ name: ::String,
1738
+ signatures: T::Array[::Parlour::RbsGenerator::MethodSignature],
1739
+ class_method: T::Boolean,
1740
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Method).void)
1741
+ ).void
1742
+ end
1743
+ def initialize(generator, name, signatures, class_method: T.unsafe(nil), &block); end
1744
+
1745
+ # source://parlour//lib/parlour/rbs_generator/method.rb#42
1746
+ sig { overridable.params(other: ::Object).returns(T::Boolean) }
1747
+ def ==(other); end
1748
+
1749
+ # source://parlour//lib/parlour/rbs_generator/method.rb#58
1750
+ sig { returns(T::Boolean) }
1751
+ def class_method; end
1752
+
1753
+ # source://parlour//lib/parlour/rbs_generator/method.rb#137
1754
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1755
+ def describe_attrs; end
1756
+
1757
+ # source://parlour//lib/parlour/rbs_generator/method.rb#71
1758
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1759
+ def generate_rbs(indent_level, options); end
1760
+
1761
+ # source://parlour//lib/parlour/rbs_generator/method.rb#132
1762
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
1763
+ def merge_into_self(others); end
1764
+
1765
+ # source://parlour//lib/parlour/rbs_generator/method.rb#115
1766
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1767
+ def mergeable?(others); end
1768
+
1769
+ # source://parlour//lib/parlour/rbs_generator/method.rb#52
1770
+ sig { returns(T::Array[::Parlour::RbsGenerator::MethodSignature]) }
1771
+ def signatures; end
1772
+ end
1773
+
1774
+ # Represents one signature in a method definition.
1775
+ # (This is not an RbsObject because it doesn't generate a full line.)
1776
+ #
1777
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#6
1778
+ class Parlour::RbsGenerator::MethodSignature
1779
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#25
1780
+ sig do
1781
+ params(
1782
+ parameters: T::Array[::Parlour::RbsGenerator::Parameter],
1783
+ return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1784
+ block: T.nilable(::Parlour::RbsGenerator::Block),
1785
+ type_parameters: T.nilable(T::Array[::Symbol])
1786
+ ).void
1787
+ end
1788
+ def initialize(parameters, return_type = T.unsafe(nil), block: T.unsafe(nil), type_parameters: T.unsafe(nil)); end
1789
+
1790
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#38
1791
+ sig { overridable.params(other: ::Object).returns(T::Boolean) }
1792
+ def ==(other); end
1793
+
1794
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#59
1795
+ sig { returns(T.nilable(::Parlour::RbsGenerator::Block)) }
1796
+ def block; end
1797
+
1798
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#104
1799
+ sig { returns(::String) }
1800
+ def describe_in_method; end
1801
+
1802
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#71
1803
+ sig { params(options: ::Parlour::Options).returns(T::Array[::String]) }
1804
+ def generate_rbs(options); end
1805
+
1806
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#49
1807
+ sig { returns(T::Array[::Parlour::RbsGenerator::Parameter]) }
1808
+ def parameters; end
1809
+
1810
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#54
1811
+ sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) }
1812
+ def return_type; end
1813
+
1814
+ # source://parlour//lib/parlour/rbs_generator/method_signature.rb#64
1815
+ sig { returns(T::Array[::Symbol]) }
1816
+ def type_parameters; end
1817
+ end
1818
+
1819
+ # Represents a module definition.
1820
+ #
1821
+ # source://parlour//lib/parlour/rbs_generator/module_namespace.rb#5
1822
+ class Parlour::RbsGenerator::ModuleNamespace < ::Parlour::RbsGenerator::Namespace
1823
+ extend T::Generic
1824
+
1825
+ Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } }
1826
+
1827
+ # source://parlour//lib/parlour/rbs_generator/module_namespace.rb#29
1828
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
1829
+ def describe_attrs; end
1830
+
1831
+ # source://parlour//lib/parlour/rbs_generator/module_namespace.rb#21
1832
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
1833
+ def generate_rbs(indent_level, options); end
1834
+ end
1835
+
1836
+ # A generic namespace. This shouldn't be used, except as the type of
1837
+ # {RbsGenerator#root}.
1838
+ #
1839
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#6
1840
+ class Parlour::RbsGenerator::Namespace < ::Parlour::RbsGenerator::RbsObject
1841
+ extend T::Generic
1842
+ include ::Parlour::Mixin::Searchable
1843
+
1844
+ Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } }
1845
+
1846
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#42
1847
+ sig do
1848
+ params(
1849
+ generator: ::Parlour::Generator,
1850
+ name: T.nilable(::String),
1851
+ block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)
1852
+ ).void
1853
+ end
1854
+ def initialize(generator, name = T.unsafe(nil), &block); end
1855
+
1856
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#139
1857
+ sig { params(comment: T.any(::String, T::Array[::String])).void }
1858
+ def add_comment_to_next_child(comment); end
1859
+
1860
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#80
1861
+ sig { returns(T::Array[::Parlour::RbsGenerator::TypeAlias]) }
1862
+ def aliases; end
1863
+
1864
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#52
1865
+ sig { override.returns(T::Array[::Parlour::RbsGenerator::RbsObject]) }
1866
+ def children; end
1867
+
1868
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#91
1869
+ sig { returns(T::Array[::Parlour::RbsGenerator::Constant]) }
1870
+ def constants; end
1871
+
1872
+ # Creates a new arbitrary code section.
1873
+ # You should rarely have to use this!
1874
+ #
1875
+ # @param code [String] The code to insert.
1876
+ # @param block A block which the new instance yields itself to.
1877
+ # @return [RbsGenerator::Arbitrary]
1878
+ #
1879
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#357
1880
+ def create_arbitrary(code:, &block); end
1881
+
1882
+ # @param name [String]
1883
+ # @param kind [Symbol]
1884
+ # @param type [Types::TypeLike]
1885
+ # @param block [T.proc.params(x: Attribute).void, nil]
1886
+ # @return [Attribute]
1887
+ #
1888
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
1889
+ def create_attr(*args, **_arg1, &blk); end
1890
+
1891
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#347
1892
+ sig do
1893
+ params(
1894
+ name: ::String,
1895
+ type: T.any(::Parlour::Types::Type, ::String),
1896
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void)
1897
+ ).returns(::Parlour::RbsGenerator::Attribute)
1898
+ end
1899
+ def create_attr_accessor(name, type:, &block); end
1900
+
1901
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#309
1902
+ sig do
1903
+ params(
1904
+ name: ::String,
1905
+ type: T.any(::Parlour::Types::Type, ::String),
1906
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void)
1907
+ ).returns(::Parlour::RbsGenerator::Attribute)
1908
+ end
1909
+ def create_attr_reader(name, type:, &block); end
1910
+
1911
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#328
1912
+ sig do
1913
+ params(
1914
+ name: ::String,
1915
+ type: T.any(::Parlour::Types::Type, ::String),
1916
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void)
1917
+ ).returns(::Parlour::RbsGenerator::Attribute)
1918
+ end
1919
+ def create_attr_writer(name, type:, &block); end
1920
+
1921
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#280
1922
+ sig do
1923
+ params(
1924
+ name: ::String,
1925
+ kind: ::Symbol,
1926
+ type: T.any(::Parlour::Types::Type, ::String),
1927
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void)
1928
+ ).returns(::Parlour::RbsGenerator::Attribute)
1929
+ end
1930
+ def create_attribute(name, kind:, type:, &block); end
1931
+
1932
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#169
1933
+ sig do
1934
+ params(
1935
+ name: ::String,
1936
+ superclass: T.nilable(T.any(::Parlour::Types::Type, ::String)),
1937
+ block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void)
1938
+ ).returns(Parlour::RbsGenerator::ClassNamespace)
1939
+ end
1940
+ def create_class(name, superclass: T.unsafe(nil), &block); end
1941
+
1942
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#450
1943
+ sig do
1944
+ params(
1945
+ name: ::String,
1946
+ type: T.any(::Parlour::Types::Type, ::String),
1947
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Constant).void)
1948
+ ).returns(::Parlour::RbsGenerator::Constant)
1949
+ end
1950
+ def create_constant(name, type:, &block); end
1951
+
1952
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#377
1953
+ sig do
1954
+ params(
1955
+ type: T.any(::Parlour::Types::Type, ::String),
1956
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Extend).void)
1957
+ ).returns(::Parlour::RbsGenerator::Extend)
1958
+ end
1959
+ def create_extend(type, &block); end
1960
+
1961
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#396
1962
+ sig do
1963
+ params(
1964
+ extendables: T::Array[T.any(::Parlour::Types::Type, ::String)]
1965
+ ).returns(T::Array[::Parlour::RbsGenerator::Extend])
1966
+ end
1967
+ def create_extends(extendables); end
1968
+
1969
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#413
1970
+ sig do
1971
+ params(
1972
+ type: T.any(::Parlour::Types::Type, ::String),
1973
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Include).void)
1974
+ ).returns(::Parlour::RbsGenerator::Include)
1975
+ end
1976
+ def create_include(type, &block); end
1977
+
1978
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#432
1979
+ sig do
1980
+ params(
1981
+ includables: T::Array[T.any(::Parlour::Types::Type, ::String)]
1982
+ ).returns(T::Array[::Parlour::RbsGenerator::Include])
1983
+ end
1984
+ def create_includes(includables); end
1985
+
1986
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#211
1987
+ sig do
1988
+ params(
1989
+ name: ::String,
1990
+ block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)
1991
+ ).returns(Parlour::RbsGenerator::InterfaceNamespace)
1992
+ end
1993
+ def create_interface(name, &block); end
1994
+
1995
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#236
1996
+ sig do
1997
+ params(
1998
+ name: ::String,
1999
+ signatures: T.nilable(T::Array[::Parlour::RbsGenerator::MethodSignature]),
2000
+ class_method: T::Boolean,
2001
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Method).void)
2002
+ ).returns(::Parlour::RbsGenerator::Method)
2003
+ end
2004
+ def create_method(name, signatures = T.unsafe(nil), class_method: T.unsafe(nil), &block); end
2005
+
2006
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#190
2007
+ sig do
2008
+ params(
2009
+ name: ::String,
2010
+ block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)
2011
+ ).returns(Parlour::RbsGenerator::ModuleNamespace)
2012
+ end
2013
+ def create_module(name, &block); end
2014
+
2015
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#472
2016
+ sig do
2017
+ params(
2018
+ name: ::String,
2019
+ type: T.any(::Parlour::Types::Type, ::String),
2020
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::TypeAlias).void)
2021
+ ).returns(::Parlour::RbsGenerator::TypeAlias)
2022
+ end
2023
+ def create_type_alias(name, type:, &block); end
2024
+
2025
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#525
2026
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
2027
+ def describe_attrs; end
2028
+
2029
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#60
2030
+ sig { returns(T::Array[::Parlour::RbsGenerator::Extend]) }
2031
+ def extends; end
2032
+
2033
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#21
2034
+ sig { override.overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
2035
+ def generate_rbs(indent_level, options); end
2036
+
2037
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#70
2038
+ sig { returns(T::Array[::Parlour::RbsGenerator::Include]) }
2039
+ def includes; end
2040
+
2041
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#515
2042
+ sig { override.overridable.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
2043
+ def merge_into_self(others); end
2044
+
2045
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#497
2046
+ sig { override.overridable.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
2047
+ def mergeable?(others); end
2048
+
2049
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#104
2050
+ sig { params(object: T.untyped, block: T.proc.params(x: Parlour::RbsGenerator::Namespace).void).void }
2051
+ def path(object, &block); end
2052
+
2053
+ # @return [Array<RbsGenerator::TypeAlias>]
2054
+ #
2055
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
2056
+ def type_aliases(*args, **_arg1, &blk); end
2057
+
2058
+ private
2059
+
2060
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#545
2061
+ sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
2062
+ def generate_body(indent_level, options); end
2063
+
2064
+ # source://parlour//lib/parlour/rbs_generator/namespace.rb#621
2065
+ sig { params(object: ::Parlour::RbsGenerator::RbsObject).void }
2066
+ def move_next_comments(object); end
2067
+ end
2068
+
2069
+ # Represents a method parameter with a Sorbet type signature.
2070
+ #
2071
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#5
2072
+ class Parlour::RbsGenerator::Parameter
2073
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#37
2074
+ sig { params(name: ::String, type: T.nilable(T.any(::Parlour::Types::Type, ::String)), required: T::Boolean).void }
2075
+ def initialize(name, type: T.unsafe(nil), required: T.unsafe(nil)); end
2076
+
2077
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#56
2078
+ sig { params(other: ::Object).returns(T::Boolean) }
2079
+ def ==(other); end
2080
+
2081
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#98
2082
+ sig { returns(::Symbol) }
2083
+ def kind; end
2084
+
2085
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#68
2086
+ sig { returns(::String) }
2087
+ def name; end
2088
+
2089
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#75
2090
+ sig { returns(::String) }
2091
+ def name_without_kind; end
2092
+
2093
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#92
2094
+ sig { returns(T::Boolean) }
2095
+ def required; end
2096
+
2097
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#119
2098
+ sig { returns(::String) }
2099
+ def to_rbs_param; end
2100
+
2101
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#87
2102
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
2103
+ def type; end
2104
+ end
2105
+
2106
+ # A mapping of {kind} values to the characteristic prefixes each kind has.
2107
+ #
2108
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#109
2109
+ Parlour::RbsGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash)
2110
+
2111
+ # An array of reserved keywords in RBS which may be used as parameter
2112
+ # names in standard Ruby.
2113
+ # TODO: probably incomplete
2114
+ #
2115
+ # source://parlour//lib/parlour/rbs_generator/parameter.rb#103
2116
+ Parlour::RbsGenerator::Parameter::RBS_KEYWORDS = T.let(T.unsafe(nil), Array)
2117
+
2118
+ # An abstract class which is subclassed by any classes which can generate
2119
+ # entire lines of an RBS, such as {Namespace} and {Method}. (As an example,
2120
+ # {Parameter} is _not_ a subclass because it does not generate lines, only
2121
+ # segments of definition lines.)
2122
+ #
2123
+ # @abstract
2124
+ #
2125
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#9
2126
+ class Parlour::RbsGenerator::RbsObject < ::Parlour::TypedObject
2127
+ abstract!
2128
+
2129
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#19
2130
+ sig { params(generator: ::Parlour::Generator, name: ::String).void }
2131
+ def initialize(generator, name); end
2132
+
2133
+ # @abstract
2134
+ #
2135
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#42
2136
+ sig { abstract.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
2137
+ def generate_rbs(indent_level, options); end
2138
+
2139
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#28
2140
+ sig { returns(::Parlour::Generator) }
2141
+ def generator; end
2142
+
2143
+ # @abstract
2144
+ #
2145
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#70
2146
+ sig { abstract.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
2147
+ def merge_into_self(others); end
2148
+
2149
+ # @abstract
2150
+ #
2151
+ # source://parlour//lib/parlour/rbs_generator/rbs_object.rb#56
2152
+ sig { abstract.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
2153
+ def mergeable?(others); end
2154
+ end
2155
+
2156
+ # Represents a type alias.
2157
+ #
2158
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#5
2159
+ class Parlour::RbsGenerator::TypeAlias < ::Parlour::RbsGenerator::RbsObject
2160
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#18
2161
+ sig do
2162
+ params(
2163
+ generator: ::Parlour::Generator,
2164
+ name: ::String,
2165
+ type: T.any(::Parlour::Types::Type, ::String),
2166
+ block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::TypeAlias).void)
2167
+ ).void
2168
+ end
2169
+ def initialize(generator, name:, type:, &block); end
2170
+
2171
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#34
2172
+ sig { params(other: ::Object).returns(T::Boolean) }
2173
+ def ==(other); end
2174
+
2175
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#88
2176
+ sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
2177
+ def describe_attrs; end
2178
+
2179
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#49
2180
+ sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
2181
+ def generate_rbs(indent_level, options); end
2182
+
2183
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#83
2184
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void }
2185
+ def merge_into_self(others); end
2186
+
2187
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#66
2188
+ sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
2189
+ def mergeable?(others); end
2190
+
2191
+ # source://parlour//lib/parlour/rbs_generator/type_alias.rb#26
2192
+ sig { returns(T.any(::Parlour::Types::Type, ::String)) }
2193
+ def type; end
2194
+ end
2195
+
2196
+ # source://parlour//lib/parlour/type_loader.rb#7
2197
+ module Parlour::TypeLoader
2198
+ class << self
2199
+ # source://parlour//lib/parlour/type_loader.rb#29
2200
+ sig do
2201
+ params(
2202
+ filename: ::String,
2203
+ generator: T.nilable(::Parlour::RbiGenerator)
2204
+ ).returns(Parlour::RbiGenerator::Namespace)
2205
+ end
2206
+ def load_file(filename, generator: T.unsafe(nil)); end
2207
+
2208
+ # source://parlour//lib/parlour/type_loader.rb#54
2209
+ sig do
2210
+ params(
2211
+ root: ::String,
2212
+ inclusions: T::Array[::String],
2213
+ exclusions: T::Array[::String],
2214
+ generator: T.nilable(::Parlour::RbiGenerator)
2215
+ ).returns(Parlour::RbiGenerator::Namespace)
2216
+ end
2217
+ def load_project(root, inclusions: T.unsafe(nil), exclusions: T.unsafe(nil), generator: T.unsafe(nil)); end
2218
+
2219
+ # TODO: make this into a class which stores configuration and passes it to
2220
+ # all typeparsers
2221
+ #
2222
+ # source://parlour//lib/parlour/type_loader.rb#20
2223
+ sig do
2224
+ params(
2225
+ source: ::String,
2226
+ filename: T.nilable(::String),
2227
+ generator: T.nilable(::Parlour::RbiGenerator)
2228
+ ).returns(Parlour::RbiGenerator::Namespace)
2229
+ end
2230
+ def load_source(source, filename = T.unsafe(nil), generator: T.unsafe(nil)); end
2231
+ end
2232
+ end
2233
+
2234
+ # Parses Ruby source to find Sorbet type signatures.
2235
+ #
2236
+ # source://parlour//lib/parlour/type_parser.rb#17
2237
+ class Parlour::TypeParser
2238
+ # source://parlour//lib/parlour/type_parser.rb#95
2239
+ sig do
2240
+ params(
2241
+ ast: ::Parser::AST::Node,
2242
+ unknown_node_errors: T::Boolean,
2243
+ generator: T.nilable(::Parlour::RbiGenerator)
2244
+ ).void
2245
+ end
2246
+ def initialize(ast, unknown_node_errors: T.unsafe(nil), generator: T.unsafe(nil)); end
2247
+
2248
+ # source://parlour//lib/parlour/type_parser.rb#119
2249
+ sig { returns(::Parser::AST::Node) }
2250
+ def ast; end
2251
+
2252
+ # @return [Parser::AST::Node]
2253
+ #
2254
+ # source://parlour//lib/parlour/type_parser.rb#119
2255
+ def ast=(_arg0); end
2256
+
2257
+ # source://parlour//lib/parlour/type_parser.rb#128
2258
+ sig { returns(::Parlour::RbiGenerator) }
2259
+ def generator; end
2260
+
2261
+ # @return [RbiGenerator]
2262
+ #
2263
+ # source://parlour//lib/parlour/type_parser.rb#128
2264
+ def generator=(_arg0); end
2265
+
2266
+ # Parses the entire source file and returns the resulting root namespace.
2267
+ #
2268
+ # source://parlour//lib/parlour/type_parser.rb#134
2269
+ sig { returns(Parlour::RbiGenerator::Namespace) }
2270
+ def parse_all; end
2271
+
2272
+ # source://parlour//lib/parlour/type_parser.rb#649
2273
+ sig do
2274
+ params(
2275
+ path: ::Parlour::TypeParser::NodePath,
2276
+ is_within_eigenclass: T::Boolean
2277
+ ).returns(T::Array[::Parlour::RbiGenerator::Method])
2278
+ end
2279
+ def parse_method_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end
2280
+
2281
+ # source://parlour//lib/parlour/type_parser.rb#754
2282
+ sig { params(node: ::Parser::AST::Node).returns(::Parlour::Types::Type) }
2283
+ def parse_node_to_type(node); end
2284
+
2285
+ # Given a path to a node in the AST, parses the object definitions it
2286
+ # represents and returns it, recursing to any child namespaces and parsing
2287
+ # any methods within.
2288
+ #
2289
+ # If the node directly represents several nodes, such as being a
2290
+ # (begin ...) node, they are all returned.
2291
+ #
2292
+ # source://parlour//lib/parlour/type_parser.rb#152
2293
+ sig do
2294
+ params(
2295
+ path: ::Parlour::TypeParser::NodePath,
2296
+ is_within_eigenclass: T::Boolean
2297
+ ).returns(T::Array[::Parlour::RbiGenerator::RbiObject])
2298
+ end
2299
+ def parse_path_to_object(path, is_within_eigenclass: T.unsafe(nil)); end
2300
+
2301
+ # source://parlour//lib/parlour/type_parser.rb#496
2302
+ sig do
2303
+ params(
2304
+ path: ::Parlour::TypeParser::NodePath,
2305
+ is_within_eigenclass: T::Boolean
2306
+ ).returns(T::Array[::Parlour::RbiGenerator::Method])
2307
+ end
2308
+ def parse_sig_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end
2309
+
2310
+ # source://parlour//lib/parlour/type_parser.rb#418
2311
+ sig { params(path: ::Parlour::TypeParser::NodePath).returns(::Parlour::TypeParser::IntermediateSig) }
2312
+ def parse_sig_into_sig(path); end
2313
+
2314
+ # source://parlour//lib/parlour/type_parser.rb#124
2315
+ sig { returns(T::Boolean) }
2316
+ def unknown_node_errors; end
2317
+
2318
+ protected
2319
+
2320
+ # source://parlour//lib/parlour/type_parser.rb#971
2321
+ sig { params(node: T.nilable(::Parser::AST::Node), modifier: ::Symbol).returns(T::Boolean) }
2322
+ def body_has_modifier?(node, modifier); end
2323
+
2324
+ # source://parlour//lib/parlour/type_parser.rb#986
2325
+ sig { params(node: ::Parser::AST::Node).returns([T::Array[::String], T::Array[::String]]) }
2326
+ def body_includes_and_extends(node); end
2327
+
2328
+ # source://parlour//lib/parlour/type_parser.rb#911
2329
+ sig { params(node: T.nilable(::Parser::AST::Node)).returns(T::Array[::Symbol]) }
2330
+ def constant_names(node); end
2331
+
2332
+ # source://parlour//lib/parlour/type_parser.rb#953
2333
+ sig { params(node: T.nilable(::Parser::AST::Node)).returns(T.nilable(::String)) }
2334
+ def node_to_s(node); end
2335
+
2336
+ # @raise [ParseError.new(buffer, range)]
2337
+ #
2338
+ # source://parlour//lib/parlour/type_parser.rb#1010
2339
+ sig { params(desc: ::String, node: T.any(::Parlour::TypeParser::NodePath, ::Parser::AST::Node)).returns(T.noreturn) }
2340
+ def parse_err(desc, node); end
2341
+
2342
+ # source://parlour//lib/parlour/type_parser.rb#936
2343
+ sig { params(path: ::Parlour::TypeParser::NodePath).returns(T::Boolean) }
2344
+ def previous_sibling_sig_node?(path); end
2345
+
2346
+ # source://parlour//lib/parlour/type_parser.rb#923
2347
+ sig { params(node: ::Parser::AST::Node).returns(T::Boolean) }
2348
+ def sig_node?(node); end
2349
+
2350
+ # source://parlour//lib/parlour/type_parser.rb#893
2351
+ sig { params(msg: ::String, node: ::Parser::AST::Node).void }
2352
+ def warning(msg, node); end
2353
+
2354
+ # @raise [ArgumentError]
2355
+ #
2356
+ # source://parlour//lib/parlour/type_parser.rb#1043
2357
+ sig do
2358
+ type_parameters(:A, :B)
2359
+ .params(
2360
+ a: T::Array[T.type_parameter(:A)],
2361
+ fa: T.proc.params(item: T.type_parameter(:A)).returns(T.untyped),
2362
+ b: T::Array[T.type_parameter(:B)],
2363
+ fb: T.proc.params(item: T.type_parameter(:B)).returns(T.untyped)
2364
+ ).returns(T::Array[[T.type_parameter(:A), T.type_parameter(:B)]])
2365
+ end
2366
+ def zip_by(a, fa, b, fb); end
2367
+
2368
+ class << self
2369
+ # source://parlour//lib/parlour/type_parser.rb#108
2370
+ sig do
2371
+ params(
2372
+ filename: ::String,
2373
+ source: ::String,
2374
+ generator: T.nilable(::Parlour::RbiGenerator)
2375
+ ).returns(::Parlour::TypeParser)
2376
+ end
2377
+ def from_source(filename, source, generator: T.unsafe(nil)); end
2378
+
2379
+ # source://parlour//lib/parlour/type_parser.rb#743
2380
+ sig { params(str: ::String).returns(::Parlour::Types::Type) }
2381
+ def parse_single_type(str); end
2382
+ end
2383
+ end
2384
+
2385
+ # A parsed sig, not associated with a method.
2386
+ #
2387
+ # source://parlour//lib/parlour/type_parser.rb#399
2388
+ class Parlour::TypeParser::IntermediateSig < ::T::Struct
2389
+ prop :type_parameters, T.nilable(T::Array[::Symbol])
2390
+ prop :overridable, T::Boolean
2391
+ prop :override, T::Boolean
2392
+ prop :abstract, T::Boolean
2393
+ prop :final, T::Boolean
2394
+ prop :return_type, T.nilable(::String)
2395
+ prop :params, T.nilable(T::Array[::Parser::AST::Node])
2396
+
2397
+ class << self
2398
+ # source://sorbet-runtime/0.5.11370/lib/types/struct.rb#13
2399
+ def inherited(s); end
2400
+ end
2401
+ end
2402
+
2403
+ # Represents a path of indices which can be traversed to reach a specific
2404
+ # node in an AST.
2405
+ #
2406
+ # source://parlour//lib/parlour/type_parser.rb#20
2407
+ class Parlour::TypeParser::NodePath
2408
+ # source://parlour//lib/parlour/type_parser.rb#31
2409
+ sig { params(indices: T::Array[::Integer]).void }
2410
+ def initialize(indices); end
2411
+
2412
+ # source://parlour//lib/parlour/type_parser.rb#48
2413
+ sig { params(index: ::Integer).returns(::Parlour::TypeParser::NodePath) }
2414
+ def child(index); end
2415
+
2416
+ # source://parlour//lib/parlour/type_parser.rb#25
2417
+ sig { returns(T::Array[::Integer]) }
2418
+ def indices; end
2419
+
2420
+ # source://parlour//lib/parlour/type_parser.rb#37
2421
+ sig { returns(::Parlour::TypeParser::NodePath) }
2422
+ def parent; end
2423
+
2424
+ # source://parlour//lib/parlour/type_parser.rb#57
2425
+ sig { params(offset: ::Integer).returns(::Parlour::TypeParser::NodePath) }
2426
+ def sibling(offset); end
2427
+
2428
+ # source://parlour//lib/parlour/type_parser.rb#74
2429
+ sig { params(start: ::Parser::AST::Node).returns(::Parser::AST::Node) }
2430
+ def traverse(start); end
2431
+ end
2432
+
2433
+ # A generic superclass of all objects which form part of type definitions in,
2434
+ # specific formats, such as RbiObject and RbsObject.
2435
+ #
2436
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2437
+ #
2438
+ # source://parlour//lib/parlour/typed_object.rb#5
2439
+ class Parlour::TypedObject
2440
+ abstract!
2441
+
2442
+ # source://parlour//lib/parlour/typed_object.rb#12
2443
+ sig { params(name: ::String).void }
2444
+ def initialize(name); end
2445
+
2446
+ # source://parlour//lib/parlour/typed_object.rb#50
2447
+ sig { params(comment: T.any(::String, T::Array[::String])).void }
2448
+ def add_comment(comment); end
2449
+
2450
+ # @param comment [String, Array<String>]
2451
+ # @return [void]
2452
+ #
2453
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
2454
+ def add_comments(*args, **_arg1, &blk); end
2455
+
2456
+ # source://parlour//lib/parlour/typed_object.rb#32
2457
+ sig { returns(T::Array[::String]) }
2458
+ def comments; end
2459
+
2460
+ # source://parlour//lib/parlour/typed_object.rb#65
2461
+ sig { returns(::String) }
2462
+ def describe; end
2463
+
2464
+ # source://parlour//lib/parlour/typed_object.rb#116
2465
+ sig { params(tree: T.nilable(::Parlour::Debugging::Tree)).returns(::String) }
2466
+ def describe_tree(tree: T.unsafe(nil)); end
2467
+
2468
+ # source://parlour//lib/parlour/typed_object.rb#21
2469
+ sig { returns(T.nilable(::Parlour::Plugin)) }
2470
+ def generated_by; end
2471
+
2472
+ # @return [String]
2473
+ #
2474
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
2475
+ def inspect(*args, **_arg1, &blk); end
2476
+
2477
+ # source://parlour//lib/parlour/typed_object.rb#26
2478
+ sig { returns(::String) }
2479
+ def name; end
2480
+
2481
+ # @return [String]
2482
+ #
2483
+ # source://sorbet-runtime/0.5.11370/lib/types/private/methods/_methods.rb#257
2484
+ def to_s(*args, **_arg1, &blk); end
2485
+
2486
+ protected
2487
+
2488
+ # @abstract
2489
+ #
2490
+ # source://parlour//lib/parlour/typed_object.rb#153
2491
+ sig { abstract.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) }
2492
+ def describe_attrs; end
2493
+
2494
+ # source://parlour//lib/parlour/typed_object.rb#166
2495
+ sig { params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) }
2496
+ def generate_comments(indent_level, options); end
2497
+ end
2498
+
2499
+ # Contains structured types which can be used in type signatures.
2500
+ #
2501
+ # source://parlour//lib/parlour/types.rb#5
2502
+ module Parlour::Types; end
2503
+
2504
+ # An array with known element types.
2505
+ #
2506
+ # source://parlour//lib/parlour/types.rb#269
2507
+ class Parlour::Types::Array < ::Parlour::Types::SingleElementCollection
2508
+ # source://parlour//lib/parlour/types.rb#276
2509
+ sig { params(other: ::Object).returns(T::Boolean) }
2510
+ def ==(other); end
2511
+
2512
+ # source://parlour//lib/parlour/types.rb#271
2513
+ sig { override.returns(::String) }
2514
+ def collection_name; end
2515
+ end
2516
+
2517
+ # Type for a boolean.
2518
+ #
2519
+ # source://parlour//lib/parlour/types.rb#435
2520
+ class Parlour::Types::Boolean < ::Parlour::Types::Type
2521
+ # source://parlour//lib/parlour/types.rb#437
2522
+ sig { params(other: ::Object).returns(T::Boolean) }
2523
+ def ==(other); end
2524
+
2525
+ # source://parlour//lib/parlour/types.rb#452
2526
+ sig { override.returns(::String) }
2527
+ def describe; end
2528
+
2529
+ # source://parlour//lib/parlour/types.rb#442
2530
+ sig { override.returns(::String) }
2531
+ def generate_rbi; end
2532
+
2533
+ # source://parlour//lib/parlour/types.rb#447
2534
+ sig { override.returns(::String) }
2535
+ def generate_rbs; end
2536
+ end
2537
+
2538
+ # A type which represents the class of a type, rather than an instance.
2539
+ # For example, "String" means an instance of String, but "Class(String)"
2540
+ # means the actual String class.
2541
+ #
2542
+ # source://parlour//lib/parlour/types.rb#404
2543
+ class Parlour::Types::Class < ::Parlour::Types::Type
2544
+ # source://parlour//lib/parlour/types.rb#406
2545
+ sig { params(type: T.any(::Parlour::Types::Type, ::String)).void }
2546
+ def initialize(type); end
2547
+
2548
+ # source://parlour//lib/parlour/types.rb#411
2549
+ sig { params(other: ::Object).returns(T::Boolean) }
2550
+ def ==(other); end
2551
+
2552
+ # source://parlour//lib/parlour/types.rb#429
2553
+ sig { override.returns(::String) }
2554
+ def describe; end
2555
+
2556
+ # source://parlour//lib/parlour/types.rb#419
2557
+ sig { override.returns(::String) }
2558
+ def generate_rbi; end
2559
+
2560
+ # source://parlour//lib/parlour/types.rb#424
2561
+ sig { override.returns(::String) }
2562
+ def generate_rbs; end
2563
+
2564
+ # source://parlour//lib/parlour/types.rb#416
2565
+ sig { returns(::Parlour::Types::Type) }
2566
+ def type; end
2567
+ end
2568
+
2569
+ # An enumerable with known element types.
2570
+ #
2571
+ # source://parlour//lib/parlour/types.rb#308
2572
+ class Parlour::Types::Enumerable < ::Parlour::Types::SingleElementCollection
2573
+ # source://parlour//lib/parlour/types.rb#315
2574
+ sig { params(other: ::Object).returns(T::Boolean) }
2575
+ def ==(other); end
2576
+
2577
+ # source://parlour//lib/parlour/types.rb#310
2578
+ sig { override.returns(::String) }
2579
+ def collection_name; end
2580
+ end
2581
+
2582
+ # An enumerator with known element types.
2583
+ #
2584
+ # source://parlour//lib/parlour/types.rb#321
2585
+ class Parlour::Types::Enumerator < ::Parlour::Types::SingleElementCollection
2586
+ # source://parlour//lib/parlour/types.rb#328
2587
+ sig { params(other: ::Object).returns(T::Boolean) }
2588
+ def ==(other); end
2589
+
2590
+ # source://parlour//lib/parlour/types.rb#323
2591
+ sig { override.returns(::String) }
2592
+ def collection_name; end
2593
+ end
2594
+
2595
+ # A user-defined generic class with an arbitrary number of type
2596
+ # parameters. This class assumes at least one type_param is
2597
+ # provided, otherwise output will have empty type param lists.
2598
+ #
2599
+ # source://parlour//lib/parlour/types.rb#202
2600
+ class Parlour::Types::Generic < ::Parlour::Types::Type
2601
+ # source://parlour//lib/parlour/types.rb#204
2602
+ sig do
2603
+ params(
2604
+ type: T.any(::Parlour::Types::Type, ::String),
2605
+ type_params: T::Array[T.any(::Parlour::Types::Type, ::String)]
2606
+ ).void
2607
+ end
2608
+ def initialize(type, type_params); end
2609
+
2610
+ # source://parlour//lib/parlour/types.rb#210
2611
+ sig { params(other: ::Object).returns(T::Boolean) }
2612
+ def ==(other); end
2613
+
2614
+ # source://parlour//lib/parlour/types.rb#233
2615
+ sig { override.returns(::String) }
2616
+ def describe; end
2617
+
2618
+ # source://parlour//lib/parlour/types.rb#223
2619
+ sig { override.returns(::String) }
2620
+ def generate_rbi; end
2621
+
2622
+ # source://parlour//lib/parlour/types.rb#228
2623
+ sig { override.returns(::String) }
2624
+ def generate_rbs; end
2625
+
2626
+ # source://parlour//lib/parlour/types.rb#217
2627
+ sig { returns(::Parlour::Types::Type) }
2628
+ def type; end
2629
+
2630
+ # source://parlour//lib/parlour/types.rb#220
2631
+ sig { returns(T::Array[::Parlour::Types::Type]) }
2632
+ def type_params; end
2633
+ end
2634
+
2635
+ # A hash with known key and value types.
2636
+ #
2637
+ # source://parlour//lib/parlour/types.rb#334
2638
+ class Parlour::Types::Hash < ::Parlour::Types::Type
2639
+ # source://parlour//lib/parlour/types.rb#336
2640
+ sig { params(key: T.any(::Parlour::Types::Type, ::String), value: T.any(::Parlour::Types::Type, ::String)).void }
2641
+ def initialize(key, value); end
2642
+
2643
+ # source://parlour//lib/parlour/types.rb#342
2644
+ sig { params(other: ::Object).returns(T::Boolean) }
2645
+ def ==(other); end
2646
+
2647
+ # source://parlour//lib/parlour/types.rb#363
2648
+ sig { override.returns(::String) }
2649
+ def describe; end
2650
+
2651
+ # source://parlour//lib/parlour/types.rb#353
2652
+ sig { override.returns(::String) }
2653
+ def generate_rbi; end
2654
+
2655
+ # source://parlour//lib/parlour/types.rb#358
2656
+ sig { override.returns(::String) }
2657
+ def generate_rbs; end
2658
+
2659
+ # source://parlour//lib/parlour/types.rb#347
2660
+ sig { returns(::Parlour::Types::Type) }
2661
+ def key; end
2662
+
2663
+ # source://parlour//lib/parlour/types.rb#350
2664
+ sig { returns(::Parlour::Types::Type) }
2665
+ def value; end
2666
+ end
2667
+
2668
+ # A type which matches all of the wrapped types.
2669
+ #
2670
+ # source://parlour//lib/parlour/types.rb#138
2671
+ class Parlour::Types::Intersection < ::Parlour::Types::Type
2672
+ # source://parlour//lib/parlour/types.rb#140
2673
+ sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void }
2674
+ def initialize(types); end
2675
+
2676
+ # source://parlour//lib/parlour/types.rb#145
2677
+ sig { params(other: ::Object).returns(T::Boolean) }
2678
+ def ==(other); end
2679
+
2680
+ # source://parlour//lib/parlour/types.rb#163
2681
+ sig { override.returns(::String) }
2682
+ def describe; end
2683
+
2684
+ # source://parlour//lib/parlour/types.rb#153
2685
+ sig { override.returns(::String) }
2686
+ def generate_rbi; end
2687
+
2688
+ # source://parlour//lib/parlour/types.rb#158
2689
+ sig { override.returns(::String) }
2690
+ def generate_rbs; end
2691
+
2692
+ # source://parlour//lib/parlour/types.rb#150
2693
+ sig { returns(T::Array[::Parlour::Types::Type]) }
2694
+ def types; end
2695
+ end
2696
+
2697
+ # A type which can be either the wrapped type, or nil.
2698
+ #
2699
+ # source://parlour//lib/parlour/types.rb#76
2700
+ class Parlour::Types::Nilable < ::Parlour::Types::Type
2701
+ # source://parlour//lib/parlour/types.rb#78
2702
+ sig { params(type: T.any(::Parlour::Types::Type, ::String)).void }
2703
+ def initialize(type); end
2704
+
2705
+ # source://parlour//lib/parlour/types.rb#83
2706
+ sig { params(other: ::Object).returns(T::Boolean) }
2707
+ def ==(other); end
2708
+
2709
+ # source://parlour//lib/parlour/types.rb#101
2710
+ sig { override.returns(::String) }
2711
+ def describe; end
2712
+
2713
+ # source://parlour//lib/parlour/types.rb#91
2714
+ sig { override.returns(::String) }
2715
+ def generate_rbi; end
2716
+
2717
+ # source://parlour//lib/parlour/types.rb#96
2718
+ sig { override.returns(::String) }
2719
+ def generate_rbs; end
2720
+
2721
+ # source://parlour//lib/parlour/types.rb#88
2722
+ sig { returns(::Parlour::Types::Type) }
2723
+ def type; end
2724
+ end
2725
+
2726
+ # A type which can be called as a function.
2727
+ #
2728
+ # source://parlour//lib/parlour/types.rb#504
2729
+ class Parlour::Types::Proc < ::Parlour::Types::Type
2730
+ # source://parlour//lib/parlour/types.rb#533
2731
+ sig do
2732
+ params(
2733
+ parameters: T::Array[::Parlour::Types::Proc::Parameter],
2734
+ return_type: T.nilable(T.any(::Parlour::Types::Type, ::String))
2735
+ ).void
2736
+ end
2737
+ def initialize(parameters, return_type); end
2738
+
2739
+ # source://parlour//lib/parlour/types.rb#539
2740
+ sig { params(other: ::Object).returns(T::Boolean) }
2741
+ def ==(other); end
2742
+
2743
+ # source://parlour//lib/parlour/types.rb#568
2744
+ sig { override.returns(::String) }
2745
+ def describe; end
2746
+
2747
+ # source://parlour//lib/parlour/types.rb#550
2748
+ sig { override.returns(::String) }
2749
+ def generate_rbi; end
2750
+
2751
+ # source://parlour//lib/parlour/types.rb#560
2752
+ sig { override.returns(::String) }
2753
+ def generate_rbs; end
2754
+
2755
+ # source://parlour//lib/parlour/types.rb#544
2756
+ sig { returns(T::Array[::Parlour::Types::Proc::Parameter]) }
2757
+ def parameters; end
2758
+
2759
+ # source://parlour//lib/parlour/types.rb#547
2760
+ sig { returns(T.nilable(::Parlour::Types::Type)) }
2761
+ def return_type; end
2762
+ end
2763
+
2764
+ # A parameter to a proc.
2765
+ #
2766
+ # source://parlour//lib/parlour/types.rb#506
2767
+ class Parlour::Types::Proc::Parameter
2768
+ # source://parlour//lib/parlour/types.rb#510
2769
+ sig { params(name: ::String, type: T.any(::Parlour::Types::Type, ::String), default: T.nilable(::String)).void }
2770
+ def initialize(name, type, default = T.unsafe(nil)); end
2771
+
2772
+ # source://parlour//lib/parlour/types.rb#526
2773
+ sig { params(other: ::Object).returns(T::Boolean) }
2774
+ def ==(other); end
2775
+
2776
+ # source://parlour//lib/parlour/types.rb#523
2777
+ sig { returns(T.nilable(::String)) }
2778
+ def default; end
2779
+
2780
+ # source://parlour//lib/parlour/types.rb#517
2781
+ sig { returns(::String) }
2782
+ def name; end
2783
+
2784
+ # source://parlour//lib/parlour/types.rb#520
2785
+ sig { returns(::Parlour::Types::Type) }
2786
+ def type; end
2787
+ end
2788
+
2789
+ # A range with known element types.
2790
+ #
2791
+ # source://parlour//lib/parlour/types.rb#295
2792
+ class Parlour::Types::Range < ::Parlour::Types::SingleElementCollection
2793
+ # source://parlour//lib/parlour/types.rb#302
2794
+ sig { params(other: ::Object).returns(T::Boolean) }
2795
+ def ==(other); end
2796
+
2797
+ # source://parlour//lib/parlour/types.rb#297
2798
+ sig { override.returns(::String) }
2799
+ def collection_name; end
2800
+ end
2801
+
2802
+ # A basic type as a raw string.
2803
+ #
2804
+ # source://parlour//lib/parlour/types.rb#45
2805
+ class Parlour::Types::Raw < ::Parlour::Types::Type
2806
+ # source://parlour//lib/parlour/types.rb#47
2807
+ sig { params(str: ::String).void }
2808
+ def initialize(str); end
2809
+
2810
+ # source://parlour//lib/parlour/types.rb#55
2811
+ sig { params(other: ::Object).returns(T::Boolean) }
2812
+ def ==(other); end
2813
+
2814
+ # source://parlour//lib/parlour/types.rb#70
2815
+ sig { override.returns(::String) }
2816
+ def describe; end
2817
+
2818
+ # source://parlour//lib/parlour/types.rb#60
2819
+ sig { override.returns(::String) }
2820
+ def generate_rbi; end
2821
+
2822
+ # source://parlour//lib/parlour/types.rb#65
2823
+ sig { override.returns(::String) }
2824
+ def generate_rbs; end
2825
+
2826
+ # source://parlour//lib/parlour/types.rb#52
2827
+ sig { returns(::String) }
2828
+ def str; end
2829
+ end
2830
+
2831
+ # A record/shape; a hash with a fixed set of keys with given types.
2832
+ #
2833
+ # source://parlour//lib/parlour/types.rb#369
2834
+ class Parlour::Types::Record < ::Parlour::Types::Type
2835
+ # source://parlour//lib/parlour/types.rb#371
2836
+ sig { params(keys_to_types: T::Hash[::Symbol, T.any(::Parlour::Types::Type, ::String)]).void }
2837
+ def initialize(keys_to_types); end
2838
+
2839
+ # source://parlour//lib/parlour/types.rb#378
2840
+ sig { params(other: ::Object).returns(T::Boolean) }
2841
+ def ==(other); end
2842
+
2843
+ # source://parlour//lib/parlour/types.rb#396
2844
+ sig { override.returns(::String) }
2845
+ def describe; end
2846
+
2847
+ # source://parlour//lib/parlour/types.rb#386
2848
+ sig { override.returns(::String) }
2849
+ def generate_rbi; end
2850
+
2851
+ # source://parlour//lib/parlour/types.rb#391
2852
+ sig { override.returns(::String) }
2853
+ def generate_rbs; end
2854
+
2855
+ # source://parlour//lib/parlour/types.rb#383
2856
+ sig { returns(T::Hash[::Symbol, ::Parlour::Types::Type]) }
2857
+ def keys_to_types; end
2858
+ end
2859
+
2860
+ # Type equivalent to the receiver.
2861
+ #
2862
+ # source://parlour//lib/parlour/types.rb#458
2863
+ class Parlour::Types::Self < ::Parlour::Types::Type
2864
+ # source://parlour//lib/parlour/types.rb#460
2865
+ sig { params(other: ::Object).returns(T::Boolean) }
2866
+ def ==(other); end
2867
+
2868
+ # source://parlour//lib/parlour/types.rb#475
2869
+ sig { override.returns(::String) }
2870
+ def describe; end
2871
+
2872
+ # source://parlour//lib/parlour/types.rb#465
2873
+ sig { override.returns(::String) }
2874
+ def generate_rbi; end
2875
+
2876
+ # source://parlour//lib/parlour/types.rb#470
2877
+ sig { override.returns(::String) }
2878
+ def generate_rbs; end
2879
+ end
2880
+
2881
+ # A set with known element types.
2882
+ #
2883
+ # source://parlour//lib/parlour/types.rb#282
2884
+ class Parlour::Types::Set < ::Parlour::Types::SingleElementCollection
2885
+ # source://parlour//lib/parlour/types.rb#289
2886
+ sig { params(other: ::Object).returns(T::Boolean) }
2887
+ def ==(other); end
2888
+
2889
+ # source://parlour//lib/parlour/types.rb#284
2890
+ sig { override.returns(::String) }
2891
+ def collection_name; end
2892
+ end
2893
+
2894
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2895
+ #
2896
+ # source://parlour//lib/parlour/types.rb#238
2897
+ class Parlour::Types::SingleElementCollection < ::Parlour::Types::Type
2898
+ abstract!
2899
+
2900
+ # source://parlour//lib/parlour/types.rb#242
2901
+ sig { params(element: T.any(::Parlour::Types::Type, ::String)).void }
2902
+ def initialize(element); end
2903
+
2904
+ # @abstract
2905
+ #
2906
+ # source://parlour//lib/parlour/types.rb#250
2907
+ sig { abstract.returns(::String) }
2908
+ def collection_name; end
2909
+
2910
+ # source://parlour//lib/parlour/types.rb#263
2911
+ sig { override.returns(::String) }
2912
+ def describe; end
2913
+
2914
+ # source://parlour//lib/parlour/types.rb#247
2915
+ sig { returns(::Parlour::Types::Type) }
2916
+ def element; end
2917
+
2918
+ # source://parlour//lib/parlour/types.rb#253
2919
+ sig { override.returns(::String) }
2920
+ def generate_rbi; end
2921
+
2922
+ # source://parlour//lib/parlour/types.rb#258
2923
+ sig { override.returns(::String) }
2924
+ def generate_rbs; end
2925
+ end
2926
+
2927
+ # A fixed-length array of items, each with a known type.
2928
+ #
2929
+ # source://parlour//lib/parlour/types.rb#169
2930
+ class Parlour::Types::Tuple < ::Parlour::Types::Type
2931
+ # source://parlour//lib/parlour/types.rb#171
2932
+ sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void }
2933
+ def initialize(types); end
2934
+
2935
+ # source://parlour//lib/parlour/types.rb#176
2936
+ sig { params(other: ::Object).returns(T::Boolean) }
2937
+ def ==(other); end
2938
+
2939
+ # source://parlour//lib/parlour/types.rb#194
2940
+ sig { override.returns(::String) }
2941
+ def describe; end
2942
+
2943
+ # source://parlour//lib/parlour/types.rb#184
2944
+ sig { override.returns(::String) }
2945
+ def generate_rbi; end
2946
+
2947
+ # source://parlour//lib/parlour/types.rb#189
2948
+ sig { override.returns(::String) }
2949
+ def generate_rbs; end
2950
+
2951
+ # source://parlour//lib/parlour/types.rb#181
2952
+ sig { returns(T::Array[::Parlour::Types::Type]) }
2953
+ def types; end
2954
+ end
2955
+
2956
+ # The top-level, abstract class for a generalised type. All of the other
2957
+ # types inherit from this. Do not instantiate.
2958
+ #
2959
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2960
+ #
2961
+ # source://parlour//lib/parlour/types.rb#10
2962
+ class Parlour::Types::Type
2963
+ abstract!
2964
+
2965
+ # @abstract
2966
+ #
2967
+ # source://parlour//lib/parlour/types.rb#41
2968
+ sig { abstract.returns(::String) }
2969
+ def describe; end
2970
+
2971
+ # @abstract
2972
+ #
2973
+ # source://parlour//lib/parlour/types.rb#17
2974
+ sig { abstract.returns(::String) }
2975
+ def generate_rbi; end
2976
+
2977
+ # @abstract
2978
+ #
2979
+ # source://parlour//lib/parlour/types.rb#20
2980
+ sig { abstract.returns(::String) }
2981
+ def generate_rbs; end
2982
+
2983
+ # source://parlour//lib/parlour/types.rb#36
2984
+ def hash; end
2985
+
2986
+ # source://parlour//lib/parlour/types.rb#32
2987
+ sig { params(type_like: T.any(::Parlour::Types::Type, ::String)).returns(::Parlour::Types::Type) }
2988
+ def to_type(type_like); end
2989
+
2990
+ class << self
2991
+ # source://parlour//lib/parlour/types.rb#23
2992
+ sig { params(type_like: T.any(::Parlour::Types::Type, ::String)).returns(::Parlour::Types::Type) }
2993
+ def to_type(type_like); end
2994
+ end
2995
+ end
2996
+
2997
+ # source://parlour//lib/parlour/types.rb#6
2998
+ Parlour::Types::TypeLike = T.type_alias { T.any(::Parlour::Types::Type, ::String) }
2999
+
3000
+ # A type which is (at least) one of the wrapped types.
3001
+ #
3002
+ # source://parlour//lib/parlour/types.rb#107
3003
+ class Parlour::Types::Union < ::Parlour::Types::Type
3004
+ # source://parlour//lib/parlour/types.rb#109
3005
+ sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void }
3006
+ def initialize(types); end
3007
+
3008
+ # source://parlour//lib/parlour/types.rb#114
3009
+ sig { params(other: ::Object).returns(T::Boolean) }
3010
+ def ==(other); end
3011
+
3012
+ # source://parlour//lib/parlour/types.rb#132
3013
+ sig { override.returns(::String) }
3014
+ def describe; end
3015
+
3016
+ # source://parlour//lib/parlour/types.rb#122
3017
+ sig { override.returns(::String) }
3018
+ def generate_rbi; end
3019
+
3020
+ # source://parlour//lib/parlour/types.rb#127
3021
+ sig { override.returns(::String) }
3022
+ def generate_rbs; end
3023
+
3024
+ # source://parlour//lib/parlour/types.rb#119
3025
+ sig { returns(T::Array[::Parlour::Types::Type]) }
3026
+ def types; end
3027
+ end
3028
+
3029
+ # The explicit lack of a type.
3030
+ #
3031
+ # source://parlour//lib/parlour/types.rb#481
3032
+ class Parlour::Types::Untyped < ::Parlour::Types::Type
3033
+ # source://parlour//lib/parlour/types.rb#483
3034
+ sig { params(other: ::Object).returns(T::Boolean) }
3035
+ def ==(other); end
3036
+
3037
+ # source://parlour//lib/parlour/types.rb#498
3038
+ sig { override.returns(::String) }
3039
+ def describe; end
3040
+
3041
+ # source://parlour//lib/parlour/types.rb#488
3042
+ sig { override.returns(::String) }
3043
+ def generate_rbi; end
3044
+
3045
+ # source://parlour//lib/parlour/types.rb#493
3046
+ sig { override.returns(::String) }
3047
+ def generate_rbs; end
3048
+ end
3049
+
3050
+ # The library version.
3051
+ #
3052
+ # source://parlour//lib/parlour/version.rb#4
3053
+ Parlour::VERSION = T.let(T.unsafe(nil), String)