repeatable 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +8 -3
  3. data/CHANGELOG.md +10 -1
  4. data/Gemfile +2 -1
  5. data/Gemfile.lock +75 -29
  6. data/README.md +17 -0
  7. data/bin/tapioca +29 -0
  8. data/lib/repeatable/conversions.rb +2 -1
  9. data/lib/repeatable/expression/base.rb +6 -0
  10. data/lib/repeatable/expression/biweekly.rb +1 -0
  11. data/lib/repeatable/expression/date.rb +1 -0
  12. data/lib/repeatable/expression/day_in_month.rb +1 -0
  13. data/lib/repeatable/expression/difference.rb +1 -0
  14. data/lib/repeatable/expression/exact_date.rb +1 -0
  15. data/lib/repeatable/expression/intersection.rb +2 -0
  16. data/lib/repeatable/expression/range_in_year.rb +1 -0
  17. data/lib/repeatable/expression/set.rb +3 -2
  18. data/lib/repeatable/expression/union.rb +2 -0
  19. data/lib/repeatable/expression/weekday.rb +1 -0
  20. data/lib/repeatable/expression/weekday_in_month.rb +1 -0
  21. data/lib/repeatable/expression.rb +1 -0
  22. data/lib/repeatable/last_date_of_month.rb +1 -0
  23. data/lib/repeatable/parse_error.rb +1 -0
  24. data/lib/repeatable/parser.rb +1 -0
  25. data/lib/repeatable/schedule.rb +6 -0
  26. data/lib/repeatable/types.rb +1 -0
  27. data/lib/repeatable/version.rb +2 -1
  28. data/lib/repeatable.rb +1 -0
  29. data/rbi/repeatable.rbi +9 -3
  30. data/sorbet/config +2 -1
  31. data/sorbet/rbi/annotations/.gitattributes +1 -0
  32. data/sorbet/rbi/{sorbet-typed/lib/rainbow/all → annotations}/rainbow.rbi +23 -30
  33. data/sorbet/rbi/gems/.gitattributes +1 -0
  34. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  35. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  36. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  37. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +1082 -0
  38. data/sorbet/rbi/gems/docile@1.4.0.rbi +376 -0
  39. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  40. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  41. data/sorbet/rbi/gems/json@2.7.2.rbi +1561 -0
  42. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  43. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  44. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  45. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  46. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  47. data/sorbet/rbi/gems/parlour@8.1.0.rbi +3053 -0
  48. data/sorbet/rbi/gems/parser@3.3.1.0.rbi +7320 -0
  49. data/sorbet/rbi/gems/prism@0.28.0.rbi +37903 -0
  50. data/sorbet/rbi/gems/pry@0.14.0.rbi +10072 -0
  51. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  52. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  53. data/sorbet/rbi/gems/rake@13.0.3.rbi +3024 -0
  54. data/sorbet/rbi/gems/rbi@0.1.13.rbi +3071 -0
  55. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  56. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  57. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +10837 -0
  58. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +7930 -0
  59. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +5247 -0
  60. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +1594 -0
  61. data/sorbet/rbi/gems/rspec@3.10.0.rbi +76 -0
  62. data/sorbet/rbi/gems/rubocop-ast@1.31.3.rbi +7014 -0
  63. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +8 -0
  64. data/sorbet/rbi/gems/rubocop@1.62.1.rbi +57542 -0
  65. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  66. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +216 -0
  67. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +2135 -0
  68. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  69. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  70. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  71. data/sorbet/rbi/gems/standard-performance@1.3.1.rbi +8 -0
  72. data/sorbet/rbi/gems/standard@1.35.1.rbi +850 -0
  73. data/sorbet/rbi/gems/tapioca@0.13.3.rbi +3527 -0
  74. data/sorbet/rbi/gems/thor@1.3.1.rbi +4351 -0
  75. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  76. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  77. data/sorbet/rbi/gems/yard@0.9.36.rbi +18220 -0
  78. data/sorbet/tapioca/config.yml +13 -0
  79. data/sorbet/tapioca/require.rb +4 -0
  80. metadata +53 -39
  81. data/sorbet/rbi/gems/ast.rbi +0 -49
  82. data/sorbet/rbi/gems/coderay.rbi +0 -285
  83. data/sorbet/rbi/gems/commander.rbi +0 -197
  84. data/sorbet/rbi/gems/docile.rbi +0 -36
  85. data/sorbet/rbi/gems/highline.rbi +0 -577
  86. data/sorbet/rbi/gems/method_source.rbi +0 -64
  87. data/sorbet/rbi/gems/parallel.rbi +0 -83
  88. data/sorbet/rbi/gems/parlour.rbi +0 -840
  89. data/sorbet/rbi/gems/parser.rbi +0 -1950
  90. data/sorbet/rbi/gems/pry.rbi +0 -1898
  91. data/sorbet/rbi/gems/rainbow.rbi +0 -118
  92. data/sorbet/rbi/gems/rake.rbi +0 -646
  93. data/sorbet/rbi/gems/regexp_parser.rbi +0 -926
  94. data/sorbet/rbi/gems/repeatable.rbi +0 -13
  95. data/sorbet/rbi/gems/rexml.rbi +0 -583
  96. data/sorbet/rbi/gems/rspec-core.rbi +0 -1919
  97. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -1150
  98. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -1100
  99. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  100. data/sorbet/rbi/gems/rspec.rbi +0 -15
  101. data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1356
  102. data/sorbet/rbi/gems/rubocop-performance.rbi +0 -487
  103. data/sorbet/rbi/gems/rubocop.rbi +0 -7923
  104. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
  105. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  106. data/sorbet/rbi/gems/simplecov.rbi +0 -419
  107. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +0 -47
  108. data/sorbet/rbi/gems/standard.rbi +0 -130
  109. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -20
  110. data/sorbet/rbi/hidden-definitions/errors.txt +0 -4273
  111. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -9013
  112. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +0 -645
  113. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +0 -24
  114. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +0 -12
  115. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +0 -149
@@ -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)