muina 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +16 -0
  3. data/.gitignore +5 -0
  4. data/.mutant.yml +38 -0
  5. data/.rspec +4 -0
  6. data/.rubocop.yml +172 -0
  7. data/.ruby-version +1 -0
  8. data/.simplecov +14 -0
  9. data/CHANGELOG.md +38 -0
  10. data/Gemfile +34 -0
  11. data/Gemfile.lock +265 -0
  12. data/Guardfile +24 -0
  13. data/README.md +36 -0
  14. data/Rakefile +13 -0
  15. data/SECURITY.md +14 -0
  16. data/bin/bundle +114 -0
  17. data/bin/console +15 -0
  18. data/bin/flay +29 -0
  19. data/bin/flog +29 -0
  20. data/bin/guard +29 -0
  21. data/bin/irb +29 -0
  22. data/bin/lefthook +29 -0
  23. data/bin/mutant +29 -0
  24. data/bin/parlour +29 -0
  25. data/bin/rake +29 -0
  26. data/bin/rspec +29 -0
  27. data/bin/rubocop +29 -0
  28. data/bin/setup +8 -0
  29. data/bin/srb +29 -0
  30. data/bin/srb-rbi +29 -0
  31. data/bin/tapioca +29 -0
  32. data/exe/muina +11 -0
  33. data/lefthook.yml +39 -0
  34. data/lib/muina/action/params_factory.rb +17 -0
  35. data/lib/muina/action/step/command.rb +31 -0
  36. data/lib/muina/action/step/failure.rb +18 -0
  37. data/lib/muina/action/step/query.rb +31 -0
  38. data/lib/muina/action/step/result.rb +51 -0
  39. data/lib/muina/action/step.rb +13 -0
  40. data/lib/muina/action.rb +73 -0
  41. data/lib/muina/any.rb +7 -0
  42. data/lib/muina/classes.rb +7 -0
  43. data/lib/muina/module.rb +6 -0
  44. data/lib/muina/parameters.rb +7 -0
  45. data/lib/muina/params.rb +19 -0
  46. data/lib/muina/private_creation.rb +12 -0
  47. data/lib/muina/result/factory.rb +37 -0
  48. data/lib/muina/result/failure.rb +31 -0
  49. data/lib/muina/result/null.rb +25 -0
  50. data/lib/muina/result/success.rb +31 -0
  51. data/lib/muina/result.rb +17 -0
  52. data/lib/muina/service.rb +37 -0
  53. data/lib/muina/symbol_hash.rb +7 -0
  54. data/lib/muina/unit.rb +10 -0
  55. data/lib/muina/untyped_array.rb +7 -0
  56. data/lib/muina/untyped_hash.rb +7 -0
  57. data/lib/muina/value.rb +16 -0
  58. data/lib/muina/version.rb +7 -0
  59. data/lib/muina.rb +42 -0
  60. data/muina.gemspec +35 -0
  61. data/rbi/muina.rbi +268 -0
  62. data/sorbet/config +2 -0
  63. data/sorbet/rbi/gems/actionpack@6.1.4.rbi +5045 -0
  64. data/sorbet/rbi/gems/actionview@6.1.4.rbi +2416 -0
  65. data/sorbet/rbi/gems/activesupport@6.1.4.rbi +3778 -0
  66. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  67. data/sorbet/rbi/gems/awesome_print@1.9.2.rbi +322 -0
  68. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  69. data/sorbet/rbi/gems/byebug@11.1.3.rbi +18 -0
  70. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  71. data/sorbet/rbi/gems/colorize@0.8.1.rbi +39 -0
  72. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  73. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +2403 -0
  74. data/sorbet/rbi/gems/crass@1.0.6.rbi +123 -0
  75. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +185 -0
  76. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  77. data/sorbet/rbi/gems/erubi@1.10.0.rbi +36 -0
  78. data/sorbet/rbi/gems/erubis@2.7.0.rbi +8 -0
  79. data/sorbet/rbi/gems/faker@2.18.0.rbi +2469 -0
  80. data/sorbet/rbi/gems/ffi@1.15.3.rbi +8 -0
  81. data/sorbet/rbi/gems/flay@2.12.1.rbi +178 -0
  82. data/sorbet/rbi/gems/flog@4.6.4.rbi +70 -0
  83. data/sorbet/rbi/gems/formatador@0.3.0.rbi +8 -0
  84. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +49 -0
  85. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +233 -0
  86. data/sorbet/rbi/gems/guard-rubocop@1.4.0.rbi +66 -0
  87. data/sorbet/rbi/gems/guard-shell@0.7.2.rbi +69 -0
  88. data/sorbet/rbi/gems/guard@2.18.0.rbi +617 -0
  89. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  90. data/sorbet/rbi/gems/i18n@1.8.10.rbi +616 -0
  91. data/sorbet/rbi/gems/io-console@0.5.9.rbi +8 -0
  92. data/sorbet/rbi/gems/irb@1.3.6.rbi +452 -0
  93. data/sorbet/rbi/gems/lefthook@0.7.6.rbi +8 -0
  94. data/sorbet/rbi/gems/listen@3.6.0.rbi +476 -0
  95. data/sorbet/rbi/gems/loofah@2.10.0.rbi +223 -0
  96. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +431 -0
  97. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  98. data/sorbet/rbi/gems/minitest@5.14.4.rbi +344 -0
  99. data/sorbet/rbi/gems/mutant-license@0.1.1.1.4043027289354708743625974235631451632228.0.rbi +8 -0
  100. data/sorbet/rbi/gems/mutant-rspec@0.10.32.rbi +8 -0
  101. data/sorbet/rbi/gems/mutant@0.10.32.rbi +4154 -0
  102. data/sorbet/rbi/gems/nenv@0.3.0.rbi +88 -0
  103. data/sorbet/rbi/gems/nokogiri@1.11.7.rbi +1422 -0
  104. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +331 -0
  105. data/sorbet/rbi/gems/parallel@1.20.1.rbi +113 -0
  106. data/sorbet/rbi/gems/parlour@6.0.1.rbi +1726 -0
  107. data/sorbet/rbi/gems/parser@3.0.2.0.rbi +1683 -0
  108. data/sorbet/rbi/gems/path_expander@1.1.0.rbi +24 -0
  109. data/sorbet/rbi/gems/polyfill@1.9.0.rbi +393 -0
  110. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  111. data/sorbet/rbi/gems/racc@1.5.2.rbi +47 -0
  112. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +272 -0
  113. data/sorbet/rbi/gems/rack@2.2.3.rbi +1618 -0
  114. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +92 -0
  115. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +183 -0
  116. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +153 -0
  117. data/sorbet/rbi/gems/rake@13.0.6.rbi +808 -0
  118. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
  119. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
  120. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1120 -0
  121. data/sorbet/rbi/gems/reline@0.2.6.rbi +662 -0
  122. data/sorbet/rbi/gems/rexml@3.2.5.rbi +672 -0
  123. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +2509 -0
  124. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +1574 -0
  125. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +1462 -0
  126. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  127. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  128. data/sorbet/rbi/gems/rubocop-ast@1.8.0.rbi +2194 -0
  129. data/sorbet/rbi/gems/rubocop-performance@1.11.4.rbi +899 -0
  130. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +118 -0
  131. data/sorbet/rbi/gems/rubocop-rspec@2.4.0.rbi +1805 -0
  132. data/sorbet/rbi/gems/rubocop-sorbet@0.6.2.rbi +288 -0
  133. data/sorbet/rbi/gems/rubocop@1.18.4.rbi +13197 -0
  134. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  135. data/sorbet/rbi/gems/ruby_parser@3.16.0.rbi +4528 -0
  136. data/sorbet/rbi/gems/safe_type@1.1.1.rbi +157 -0
  137. data/sorbet/rbi/gems/sexp_processor@4.15.3.rbi +359 -0
  138. data/sorbet/rbi/gems/shellany@0.0.1.rbi +28 -0
  139. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  140. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  141. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  142. data/sorbet/rbi/gems/sorbet-coerce@0.5.0.rbi +42 -0
  143. data/sorbet/rbi/gems/sorbet-rails@0.7.4.rbi +8 -0
  144. data/sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi +17 -0
  145. data/sorbet/rbi/gems/spoom@1.1.1.rbi +1193 -0
  146. data/sorbet/rbi/gems/tapioca@0.4.23.rbi +1826 -0
  147. data/sorbet/rbi/gems/thor@1.1.0.rbi +838 -0
  148. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +856 -0
  149. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +26 -0
  150. data/sorbet/rbi/gems/unparser@0.6.0.rbi +2037 -0
  151. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +173 -0
  152. data/sorbet/rbi/todo.rbi +8 -0
  153. data/sorbet/rbi/typed_params.rbi +7 -0
  154. data/sorbet/tapioca/require.rb +16 -0
  155. metadata +269 -0
@@ -0,0 +1,1726 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `parlour` gem.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
+
5
+ # typed: true
6
+
7
+ class AST::Node
8
+ def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end
9
+
10
+ def +(array); end
11
+ def <<(element); end
12
+ def ==(other); end
13
+ def append(element); end
14
+ def children; end
15
+ def clone; end
16
+ def concat(array); end
17
+ def deconstruct; end
18
+ def dup; end
19
+ def eql?(other); end
20
+ def hash; end
21
+ def inspect(indent = T.unsafe(nil)); end
22
+ def to_a; end
23
+ def to_ast; end
24
+ def to_s(indent = T.unsafe(nil)); end
25
+ def to_sexp(indent = T.unsafe(nil)); end
26
+ def to_sexp_array; end
27
+ def type; end
28
+ def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end
29
+
30
+ protected
31
+
32
+ def assign_properties(properties); end
33
+ def fancy_type; end
34
+
35
+ private
36
+
37
+ def original_dup; end
38
+ end
39
+
40
+ module Parlour; end
41
+
42
+ class Parlour::ConflictResolver
43
+ sig { params(namespace: Parlour::RbiGenerator::Namespace, resolver: T.proc.params(desc: String, choices: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T.nilable(Parlour::RbiGenerator::RbiObject))).void }
44
+ def resolve_conflicts(namespace, &resolver); end
45
+
46
+ private
47
+
48
+ sig { params(arr: T::Array[T.untyped]).returns(T::Boolean) }
49
+ def all_eql?(arr); end
50
+
51
+ sig { params(namespace: Parlour::RbiGenerator::Namespace, name: T.nilable(String)).void }
52
+ def deduplicate_mixins_of_name(namespace, name); end
53
+
54
+ sig { params(arr: T::Array[T.untyped]).returns(T.nilable(Symbol)) }
55
+ def merge_strategy(arr); end
56
+ end
57
+
58
+ module Parlour::Conversion; end
59
+
60
+ class Parlour::Conversion::Converter
61
+ abstract!
62
+
63
+ def initialize; end
64
+
65
+ sig { params(msg: String, node: Parlour::RbiGenerator::RbiObject).void }
66
+ def add_warning(msg, node); end
67
+
68
+ sig { returns(T::Array[[String, Parlour::TypedObject]]) }
69
+ def warnings; end
70
+ end
71
+
72
+ class Parlour::Conversion::RbiToRbs < ::Parlour::Conversion::Converter
73
+ sig { params(rbs_gen: Parlour::RbsGenerator).void }
74
+ def initialize(rbs_gen); end
75
+
76
+ sig { params(from: Parlour::RbiGenerator::Namespace, to: Parlour::RbsGenerator::Namespace).void }
77
+ def convert_all(from, to); end
78
+
79
+ sig { params(node: Parlour::RbiGenerator::RbiObject, new_parent: Parlour::RbsGenerator::Namespace).void }
80
+ def convert_object(node, new_parent); end
81
+
82
+ sig { returns(Parlour::RbsGenerator) }
83
+ def rbs_gen; end
84
+ end
85
+
86
+ module Parlour::Debugging
87
+ class << self
88
+ sig { params(value: T::Boolean).returns(T::Boolean) }
89
+ def debug_mode=(value); end
90
+
91
+ sig { returns(T::Boolean) }
92
+ def debug_mode?; end
93
+
94
+ sig { params(object: T.untyped, message: String).void }
95
+ def debug_puts(object, message); end
96
+
97
+ sig { params(object: T.untyped).returns(String) }
98
+ def name_for_debug_caller(object); end
99
+ end
100
+ end
101
+
102
+ module Parlour::Debugging::Tree
103
+ class << self
104
+ sig { params(message: String).returns(String) }
105
+ def begin(message); end
106
+
107
+ sig { params(message: String).returns(String) }
108
+ def end(message); end
109
+
110
+ sig { params(message: String).returns(String) }
111
+ def here(message); end
112
+
113
+ def line_prefix; end
114
+ def text_prefix; end
115
+ end
116
+ end
117
+
118
+ Parlour::Debugging::Tree::INDENT_SPACES = T.let(T.unsafe(nil), Integer)
119
+
120
+ class Parlour::DetachedRbiGenerator < ::Parlour::RbiGenerator
121
+ sig { override.returns(T.nilable(Parlour::Plugin)) }
122
+ def current_plugin; end
123
+
124
+ sig { returns(T.untyped) }
125
+ def detached!; end
126
+
127
+ sig { override.returns(Parlour::Options) }
128
+ def options; end
129
+
130
+ sig { override.params(strictness: String).returns(String) }
131
+ def rbi(strictness = T.unsafe(nil)); end
132
+ end
133
+
134
+ class Parlour::DetachedRbsGenerator < ::Parlour::RbsGenerator
135
+ sig { override.returns(T.nilable(Parlour::Plugin)) }
136
+ def current_plugin; end
137
+
138
+ sig { returns(T.untyped) }
139
+ def detached!; end
140
+
141
+ sig { override.returns(Parlour::Options) }
142
+ def options; end
143
+
144
+ sig { override.returns(String) }
145
+ def rbs; end
146
+ end
147
+
148
+ class Parlour::Generator
149
+ sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
150
+ def initialize(break_params: T.unsafe(nil), tab_size: T.unsafe(nil), sort_namespaces: T.unsafe(nil)); end
151
+
152
+ sig { overridable.returns(T.nilable(Parlour::Plugin)) }
153
+ def current_plugin; end
154
+
155
+ def current_plugin=(_arg0); end
156
+
157
+ sig { overridable.returns(Parlour::Options) }
158
+ def options; end
159
+ end
160
+
161
+ class Parlour::Options
162
+ sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
163
+ def initialize(break_params:, tab_size:, sort_namespaces:); end
164
+
165
+ sig { returns(Integer) }
166
+ def break_params; end
167
+
168
+ sig { params(level: Integer, str: String).returns(String) }
169
+ def indented(level, str); end
170
+
171
+ sig { returns(T::Boolean) }
172
+ def sort_namespaces; end
173
+
174
+ sig { returns(Integer) }
175
+ def tab_size; end
176
+ end
177
+
178
+ class Parlour::ParseError < ::StandardError
179
+ def initialize(buffer, range); end
180
+
181
+ sig { returns(Parser::Source::Buffer) }
182
+ def buffer; end
183
+
184
+ sig { returns(Parser::Source::Range) }
185
+ def range; end
186
+ end
187
+
188
+ class Parlour::Plugin
189
+ abstract!
190
+
191
+ sig { params(options: T::Hash[T.untyped, T.untyped]).void }
192
+ def initialize(options); end
193
+
194
+ sig { abstract.params(root: Parlour::RbiGenerator::Namespace).void }
195
+ def generate(root); end
196
+
197
+ sig { returns(T.nilable(String)) }
198
+ def strictness; end
199
+
200
+ def strictness=(_arg0); end
201
+
202
+ class << self
203
+ sig { params(new_plugin: T.class_of(Parlour::Plugin)).void }
204
+ def inherited(new_plugin); end
205
+
206
+ sig { returns(T::Hash[String, T.class_of(Parlour::Plugin)]) }
207
+ def registered_plugins; end
208
+
209
+ sig { params(plugins: T::Array[Parlour::Plugin], generator: Parlour::RbiGenerator, allow_failure: T::Boolean).void }
210
+ def run_plugins(plugins, generator, allow_failure: T.unsafe(nil)); end
211
+ end
212
+ end
213
+
214
+ class Parlour::RbiGenerator < ::Parlour::Generator
215
+ def initialize(**hash); end
216
+
217
+ sig { overridable.params(strictness: String).returns(String) }
218
+ def rbi(strictness = T.unsafe(nil)); end
219
+
220
+ sig { overridable.returns(Parlour::RbiGenerator::Namespace) }
221
+ def root; end
222
+ end
223
+
224
+ class Parlour::RbiGenerator::Arbitrary < ::Parlour::RbiGenerator::RbiObject
225
+ sig { params(generator: Parlour::Generator, code: String, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Arbitrary).void)).void }
226
+ def initialize(generator, code: T.unsafe(nil), &block); end
227
+
228
+ sig { params(other: Object).returns(T::Boolean) }
229
+ def ==(other); end
230
+
231
+ sig { returns(String) }
232
+ def code; end
233
+
234
+ def code=(_arg0); end
235
+
236
+ sig { override.returns(String) }
237
+ def describe; end
238
+
239
+ sig { override.void }
240
+ def generalize_from_rbi!; end
241
+
242
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
243
+ def generate_rbi(indent_level, options); end
244
+
245
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
246
+ def merge_into_self(others); end
247
+
248
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
249
+ def mergeable?(others); end
250
+ end
251
+
252
+ class Parlour::RbiGenerator::Attribute < ::Parlour::RbiGenerator::Method
253
+ sig { params(generator: Parlour::Generator, name: String, kind: Symbol, type: T.any(Parlour::Types::Type, String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Attribute).void)).void }
254
+ def initialize(generator, name, kind, type, class_attribute: T.unsafe(nil), &block); end
255
+
256
+ sig { override.params(other: Object).returns(T::Boolean) }
257
+ def ==(other); end
258
+
259
+ sig { returns(T::Boolean) }
260
+ def class_attribute; end
261
+
262
+ sig { override.void }
263
+ def generalize_from_rbi!; end
264
+
265
+ sig { returns(Symbol) }
266
+ def kind; end
267
+
268
+ sig { returns(T.any(Parlour::Types::Type, String)) }
269
+ def type; end
270
+
271
+ private
272
+
273
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
274
+ def generate_definition(indent_level, options); end
275
+ end
276
+
277
+ class Parlour::RbiGenerator::ClassNamespace < ::Parlour::RbiGenerator::Namespace
278
+ sig { params(generator: Parlour::Generator, name: String, final: T::Boolean, sealed: T::Boolean, superclass: T.nilable(String), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)).void }
279
+ def initialize(generator, name, final, sealed, superclass, abstract, &block); end
280
+
281
+ sig { returns(T::Boolean) }
282
+ def abstract; end
283
+
284
+ sig { override.returns(String) }
285
+ def describe; end
286
+
287
+ sig { override.void }
288
+ def generalize_from_rbi!; end
289
+
290
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
291
+ def generate_rbi(indent_level, options); end
292
+
293
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
294
+ def merge_into_self(others); end
295
+
296
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
297
+ def mergeable?(others); end
298
+
299
+ sig { returns(T.nilable(String)) }
300
+ def superclass; end
301
+ end
302
+
303
+ class Parlour::RbiGenerator::Constant < ::Parlour::RbiGenerator::RbiObject
304
+ sig { params(generator: Parlour::Generator, name: String, value: T.any(Parlour::Types::Type, String), eigen_constant: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Constant).void)).void }
305
+ def initialize(generator, name: T.unsafe(nil), value: T.unsafe(nil), eigen_constant: T.unsafe(nil), &block); end
306
+
307
+ sig { params(other: Object).returns(T::Boolean) }
308
+ def ==(other); end
309
+
310
+ sig { override.returns(String) }
311
+ def describe; end
312
+
313
+ def eigen_constant; end
314
+
315
+ sig { override.void }
316
+ def generalize_from_rbi!; end
317
+
318
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
319
+ def generate_rbi(indent_level, options); end
320
+
321
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
322
+ def merge_into_self(others); end
323
+
324
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
325
+ def mergeable?(others); end
326
+
327
+ sig { returns(T.any(Parlour::Types::Type, String)) }
328
+ def value; end
329
+ end
330
+
331
+ class Parlour::RbiGenerator::EnumClassNamespace < ::Parlour::RbiGenerator::ClassNamespace
332
+ sig { params(generator: Parlour::Generator, name: String, final: T::Boolean, sealed: T::Boolean, enums: T::Array[T.any(String, [String, String])], abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void)).void }
333
+ def initialize(generator, name, final, sealed, enums, abstract, &block); end
334
+
335
+ sig { returns(T::Array[T.any(String, [String, String])]) }
336
+ def enums; end
337
+
338
+ sig { override.void }
339
+ def generalize_from_rbi!; end
340
+
341
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
342
+ def generate_body(indent_level, options); end
343
+
344
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
345
+ def merge_into_self(others); end
346
+
347
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
348
+ def mergeable?(others); end
349
+ end
350
+
351
+ class Parlour::RbiGenerator::Extend < ::Parlour::RbiGenerator::RbiObject
352
+ sig { params(generator: Parlour::Generator, name: String, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Extend).void)).void }
353
+ def initialize(generator, name: T.unsafe(nil), &block); end
354
+
355
+ sig { params(other: Object).returns(T::Boolean) }
356
+ def ==(other); end
357
+
358
+ sig { override.returns(String) }
359
+ def describe; end
360
+
361
+ sig { override.void }
362
+ def generalize_from_rbi!; end
363
+
364
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
365
+ def generate_rbi(indent_level, options); end
366
+
367
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
368
+ def merge_into_self(others); end
369
+
370
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
371
+ def mergeable?(others); end
372
+ end
373
+
374
+ class Parlour::RbiGenerator::Include < ::Parlour::RbiGenerator::RbiObject
375
+ sig { params(generator: Parlour::Generator, name: String, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Include).void)).void }
376
+ def initialize(generator, name: T.unsafe(nil), &block); end
377
+
378
+ sig { params(other: Object).returns(T::Boolean) }
379
+ def ==(other); end
380
+
381
+ sig { override.returns(String) }
382
+ def describe; end
383
+
384
+ sig { override.void }
385
+ def generalize_from_rbi!; end
386
+
387
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
388
+ def generate_rbi(indent_level, options); end
389
+
390
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
391
+ def merge_into_self(others); end
392
+
393
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
394
+ def mergeable?(others); end
395
+ end
396
+
397
+ class Parlour::RbiGenerator::Method < ::Parlour::RbiGenerator::RbiObject
398
+ sig { params(generator: Parlour::Generator, name: String, parameters: T::Array[Parlour::RbiGenerator::Parameter], return_type: T.nilable(T.any(Parlour::Types::Type, String)), abstract: T::Boolean, implementation: T::Boolean, override: T::Boolean, overridable: T::Boolean, class_method: T::Boolean, final: T::Boolean, type_parameters: T.nilable(T::Array[Symbol]), block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Method).void)).void }
399
+ 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
400
+
401
+ sig { overridable.params(other: Object).returns(T::Boolean) }
402
+ def ==(other); end
403
+
404
+ sig { returns(T::Boolean) }
405
+ def abstract; end
406
+
407
+ sig { returns(T::Boolean) }
408
+ def class_method; end
409
+
410
+ sig { override.returns(String) }
411
+ def describe; end
412
+
413
+ sig { returns(T::Boolean) }
414
+ def final; end
415
+
416
+ sig { override.void }
417
+ def generalize_from_rbi!; end
418
+
419
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
420
+ def generate_rbi(indent_level, options); end
421
+
422
+ sig { returns(T::Boolean) }
423
+ def implementation; end
424
+
425
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
426
+ def merge_into_self(others); end
427
+
428
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
429
+ def mergeable?(others); end
430
+
431
+ sig { returns(T::Boolean) }
432
+ def overridable; end
433
+
434
+ sig { returns(T::Boolean) }
435
+ def override; end
436
+
437
+ sig { returns(T::Array[Parlour::RbiGenerator::Parameter]) }
438
+ def parameters; end
439
+
440
+ sig { returns(T.nilable(T.any(Parlour::Types::Type, String))) }
441
+ def return_type; end
442
+
443
+ sig { returns(T::Array[Symbol]) }
444
+ def type_parameters; end
445
+
446
+ private
447
+
448
+ sig { overridable.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
449
+ def generate_definition(indent_level, options); end
450
+
451
+ sig { returns(String) }
452
+ def qualifiers; end
453
+ end
454
+
455
+ class Parlour::RbiGenerator::ModuleNamespace < ::Parlour::RbiGenerator::Namespace
456
+ sig { params(generator: Parlour::Generator, name: String, final: T::Boolean, sealed: T::Boolean, interface: T::Boolean, abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)).void }
457
+ def initialize(generator, name, final, sealed, interface, abstract, &block); end
458
+
459
+ sig { returns(T::Boolean) }
460
+ def abstract; end
461
+
462
+ sig { override.returns(String) }
463
+ def describe; end
464
+
465
+ sig { override.void }
466
+ def generalize_from_rbi!; end
467
+
468
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
469
+ def generate_rbi(indent_level, options); end
470
+
471
+ sig { returns(T::Boolean) }
472
+ def interface; end
473
+
474
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
475
+ def merge_into_self(others); end
476
+
477
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
478
+ def mergeable?(others); end
479
+ end
480
+
481
+ class Parlour::RbiGenerator::Namespace < ::Parlour::RbiGenerator::RbiObject
482
+ sig { params(generator: Parlour::Generator, name: T.nilable(String), final: T::Boolean, sealed: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Namespace).void)).void }
483
+ def initialize(generator, name = T.unsafe(nil), final = T.unsafe(nil), sealed = T.unsafe(nil), &block); end
484
+
485
+ sig { params(comment: T.any(String, T::Array[String])).void }
486
+ def add_comment_to_next_child(comment); end
487
+
488
+ sig { returns(T::Array[Parlour::RbiGenerator::TypeAlias]) }
489
+ def aliases; end
490
+
491
+ sig { returns(T::Array[Parlour::RbiGenerator::RbiObject]) }
492
+ def children; end
493
+
494
+ sig { returns(T::Array[Parlour::RbiGenerator::Constant]) }
495
+ def constants; end
496
+
497
+ def create_arbitrary(code:, &block); end
498
+ def create_attr(*args, &blk); end
499
+
500
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Attribute).void)).returns(Parlour::RbiGenerator::Attribute) }
501
+ def create_attr_accessor(name, type:, class_attribute: T.unsafe(nil), &block); end
502
+
503
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Attribute).void)).returns(Parlour::RbiGenerator::Attribute) }
504
+ def create_attr_reader(name, type:, class_attribute: T.unsafe(nil), &block); end
505
+
506
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Attribute).void)).returns(Parlour::RbiGenerator::Attribute) }
507
+ def create_attr_writer(name, type:, class_attribute: T.unsafe(nil), &block); end
508
+
509
+ sig { params(name: String, kind: Symbol, type: T.any(Parlour::Types::Type, String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Attribute).void)).returns(Parlour::RbiGenerator::Attribute) }
510
+ def create_attribute(name, kind:, type:, class_attribute: T.unsafe(nil), &block); end
511
+
512
+ sig { params(name: String, final: T::Boolean, sealed: T::Boolean, superclass: T.nilable(String), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)).returns(Parlour::RbiGenerator::ClassNamespace) }
513
+ def create_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), superclass: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
514
+
515
+ sig { params(name: String, value: String, eigen_constant: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Constant).void)).returns(Parlour::RbiGenerator::Constant) }
516
+ def create_constant(name, value:, eigen_constant: T.unsafe(nil), &block); end
517
+
518
+ sig { params(name: String, final: T::Boolean, sealed: T::Boolean, enums: T.nilable(T::Array[T.any(String, [String, String])]), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void)).returns(Parlour::RbiGenerator::EnumClassNamespace) }
519
+ def create_enum_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), enums: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
520
+
521
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Extend).void)).returns(Parlour::RbiGenerator::Extend) }
522
+ def create_extend(name, &block); end
523
+
524
+ sig { params(extendables: T::Array[String]).returns(T::Array[Parlour::RbiGenerator::Extend]) }
525
+ def create_extends(extendables); end
526
+
527
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Include).void)).returns(Parlour::RbiGenerator::Include) }
528
+ def create_include(name, &block); end
529
+
530
+ sig { params(includables: T::Array[String]).returns(T::Array[Parlour::RbiGenerator::Include]) }
531
+ def create_includes(includables); end
532
+
533
+ sig { params(name: String, parameters: T.nilable(T::Array[Parlour::RbiGenerator::Parameter]), return_type: T.nilable(T.any(Parlour::Types::Type, String)), returns: T.nilable(T.any(Parlour::Types::Type, String)), abstract: T::Boolean, implementation: T::Boolean, override: T::Boolean, overridable: T::Boolean, class_method: T::Boolean, final: T::Boolean, type_parameters: T.nilable(T::Array[Symbol]), block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Method).void)).returns(Parlour::RbiGenerator::Method) }
534
+ 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
535
+
536
+ sig { params(name: String, final: T::Boolean, sealed: T::Boolean, interface: T::Boolean, abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void)).returns(Parlour::RbiGenerator::ModuleNamespace) }
537
+ def create_module(name, final: T.unsafe(nil), sealed: T.unsafe(nil), interface: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
538
+
539
+ sig { params(name: String, final: T::Boolean, sealed: T::Boolean, props: T.nilable(T::Array[Parlour::RbiGenerator::StructProp]), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void)).returns(Parlour::RbiGenerator::StructClassNamespace) }
540
+ def create_struct_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), props: T.unsafe(nil), abstract: T.unsafe(nil), &block); end
541
+
542
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::TypeAlias).void)).returns(Parlour::RbiGenerator::TypeAlias) }
543
+ def create_type_alias(name, type:, &block); end
544
+
545
+ sig { override.overridable.returns(String) }
546
+ def describe; end
547
+
548
+ sig { returns(T::Array[Parlour::RbiGenerator::Extend]) }
549
+ def extends; end
550
+
551
+ sig { returns(T::Boolean) }
552
+ def final; end
553
+
554
+ sig { override.void }
555
+ def generalize_from_rbi!; end
556
+
557
+ sig { override.overridable.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
558
+ def generate_rbi(indent_level, options); end
559
+
560
+ sig { returns(T::Array[Parlour::RbiGenerator::Include]) }
561
+ def includes; end
562
+
563
+ sig { override.overridable.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
564
+ def merge_into_self(others); end
565
+
566
+ sig { override.overridable.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
567
+ def mergeable?(others); end
568
+
569
+ sig { params(constant: Module, block: T.proc.params(x: Parlour::RbiGenerator::Namespace).void).void }
570
+ def path(constant, &block); end
571
+
572
+ sig { returns(T::Boolean) }
573
+ def sealed; end
574
+
575
+ def type_aliases(*args, &blk); end
576
+
577
+ private
578
+
579
+ sig { overridable.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
580
+ def generate_body(indent_level, options); end
581
+
582
+ sig { params(object: Parlour::RbiGenerator::RbiObject).void }
583
+ def move_next_comments(object); end
584
+ end
585
+
586
+ Parlour::RbiGenerator::Options = Parlour::Options
587
+
588
+ class Parlour::RbiGenerator::Parameter
589
+ sig { params(name: String, type: T.nilable(T.any(Parlour::Types::Type, String)), default: T.nilable(String)).void }
590
+ def initialize(name, type: T.unsafe(nil), default: T.unsafe(nil)); end
591
+
592
+ sig { params(other: Object).returns(T::Boolean) }
593
+ def ==(other); end
594
+
595
+ sig { returns(T.nilable(String)) }
596
+ def default; end
597
+
598
+ sig { void }
599
+ def generalize_from_rbi!; end
600
+
601
+ sig { returns(Symbol) }
602
+ def kind; end
603
+
604
+ sig { returns(String) }
605
+ def name; end
606
+
607
+ sig { returns(String) }
608
+ def name_without_kind; end
609
+
610
+ sig { returns(String) }
611
+ def to_def_param; end
612
+
613
+ sig { returns(String) }
614
+ def to_sig_param; end
615
+
616
+ sig { returns(T.any(Parlour::Types::Type, String)) }
617
+ def type; end
618
+ end
619
+
620
+ Parlour::RbiGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash)
621
+
622
+ class Parlour::RbiGenerator::RbiObject < ::Parlour::TypedObject
623
+ abstract!
624
+
625
+ sig { params(generator: Parlour::Generator, name: String).void }
626
+ def initialize(generator, name); end
627
+
628
+ sig { override.overridable.returns(String) }
629
+ def describe; end
630
+
631
+ sig { abstract.void }
632
+ def generalize_from_rbi!; end
633
+
634
+ sig { abstract.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
635
+ def generate_rbi(indent_level, options); end
636
+
637
+ sig { returns(Parlour::Generator) }
638
+ def generator; end
639
+
640
+ sig { abstract.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
641
+ def merge_into_self(others); end
642
+
643
+ sig { abstract.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
644
+ def mergeable?(others); end
645
+ end
646
+
647
+ class Parlour::RbiGenerator::StructClassNamespace < ::Parlour::RbiGenerator::ClassNamespace
648
+ sig { params(generator: Parlour::Generator, name: String, final: T::Boolean, sealed: T::Boolean, props: T::Array[Parlour::RbiGenerator::StructProp], abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void)).void }
649
+ def initialize(generator, name, final, sealed, props, abstract, &block); end
650
+
651
+ sig { override.void }
652
+ def generalize_from_rbi!; end
653
+
654
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
655
+ def generate_body(indent_level, options); end
656
+
657
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
658
+ def merge_into_self(others); end
659
+
660
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
661
+ def mergeable?(others); end
662
+
663
+ sig { returns(T::Array[Parlour::RbiGenerator::StructProp]) }
664
+ def props; end
665
+ end
666
+
667
+ class Parlour::RbiGenerator::StructProp
668
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), optional: T.nilable(T.any(Symbol, T::Boolean)), enum: T.nilable(String), dont_store: T.nilable(T::Boolean), foreign: T.nilable(String), default: T.nilable(String), factory: T.nilable(String), immutable: T.nilable(T::Boolean), array: T.nilable(String), override: T.nilable(T::Boolean), redaction: T.nilable(String)).void }
669
+ 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
670
+
671
+ sig { params(other: Object).returns(T::Boolean) }
672
+ def ==(other); end
673
+
674
+ sig { returns(T.nilable(String)) }
675
+ def array; end
676
+
677
+ sig { returns(T.nilable(String)) }
678
+ def default; end
679
+
680
+ sig { returns(T.nilable(T::Boolean)) }
681
+ def dont_store; end
682
+
683
+ sig { returns(T.nilable(String)) }
684
+ def enum; end
685
+
686
+ sig { returns(T.nilable(String)) }
687
+ def factory; end
688
+
689
+ sig { returns(T.nilable(String)) }
690
+ def foreign; end
691
+
692
+ sig { void }
693
+ def generalize_from_rbi!; end
694
+
695
+ sig { returns(T.nilable(T::Boolean)) }
696
+ def immutable; end
697
+
698
+ sig { returns(String) }
699
+ def name; end
700
+
701
+ sig { returns(T.nilable(T.any(Symbol, T::Boolean))) }
702
+ def optional; end
703
+
704
+ sig { returns(T.nilable(T::Boolean)) }
705
+ def override; end
706
+
707
+ sig { returns(T.nilable(String)) }
708
+ def redaction; end
709
+
710
+ sig { returns(String) }
711
+ def to_prop_call; end
712
+
713
+ sig { returns(T.any(Parlour::Types::Type, String)) }
714
+ def type; end
715
+ end
716
+
717
+ Parlour::RbiGenerator::StructProp::EXTRA_PROPERTIES = T.let(T.unsafe(nil), Array)
718
+
719
+ class Parlour::RbiGenerator::TypeAlias < ::Parlour::RbiGenerator::RbiObject
720
+ sig { params(generator: Parlour::Generator, name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::TypeAlias).void)).void }
721
+ def initialize(generator, name:, type:, &block); end
722
+
723
+ sig { params(other: Object).returns(T::Boolean) }
724
+ def ==(other); end
725
+
726
+ sig { override.returns(String) }
727
+ def describe; end
728
+
729
+ sig { override.void }
730
+ def generalize_from_rbi!; end
731
+
732
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
733
+ def generate_rbi(indent_level, options); end
734
+
735
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).void }
736
+ def merge_into_self(others); end
737
+
738
+ sig { override.params(others: T::Array[Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) }
739
+ def mergeable?(others); end
740
+
741
+ sig { returns(T.any(Parlour::Types::Type, String)) }
742
+ def type; end
743
+ end
744
+
745
+ class Parlour::RbsGenerator < ::Parlour::Generator
746
+ def initialize(**hash); end
747
+
748
+ sig { overridable.returns(String) }
749
+ def rbs; end
750
+
751
+ sig { overridable.returns(Parlour::RbsGenerator::Namespace) }
752
+ def root; end
753
+ end
754
+
755
+ class Parlour::RbsGenerator::Arbitrary < ::Parlour::RbsGenerator::RbsObject
756
+ sig { params(generator: Parlour::Generator, code: String, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Arbitrary).void)).void }
757
+ def initialize(generator, code: T.unsafe(nil), &block); end
758
+
759
+ sig { params(other: Object).returns(T::Boolean) }
760
+ def ==(other); end
761
+
762
+ sig { returns(String) }
763
+ def code; end
764
+
765
+ def code=(_arg0); end
766
+
767
+ sig { override.returns(String) }
768
+ def describe; end
769
+
770
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
771
+ def generate_rbs(indent_level, options); end
772
+
773
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
774
+ def merge_into_self(others); end
775
+
776
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
777
+ def mergeable?(others); end
778
+ end
779
+
780
+ class Parlour::RbsGenerator::Attribute < ::Parlour::RbsGenerator::Method
781
+ sig { params(generator: Parlour::Generator, name: String, kind: Symbol, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Attribute).void)).void }
782
+ def initialize(generator, name, kind, type, &block); end
783
+
784
+ sig { override.params(other: Object).returns(T::Boolean) }
785
+ def ==(other); end
786
+
787
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
788
+ def generate_rbs(indent_level, options); end
789
+
790
+ sig { returns(Symbol) }
791
+ def kind; end
792
+
793
+ sig { returns(T.any(Parlour::Types::Type, String)) }
794
+ def type; end
795
+ end
796
+
797
+ class Parlour::RbsGenerator::Block
798
+ sig { params(type: Parlour::Types::Proc, required: T::Boolean).void }
799
+ def initialize(type, required); end
800
+
801
+ sig { overridable.params(other: Object).returns(T::Boolean) }
802
+ def ==(other); end
803
+
804
+ sig { params(options: Parlour::Options).returns(T::Array[String]) }
805
+ def generate_rbs(options); end
806
+
807
+ sig { returns(T::Boolean) }
808
+ def required; end
809
+
810
+ sig { returns(Parlour::Types::Proc) }
811
+ def type; end
812
+ end
813
+
814
+ class Parlour::RbsGenerator::ClassNamespace < ::Parlour::RbsGenerator::Namespace
815
+ sig { params(generator: Parlour::Generator, name: String, superclass: T.nilable(T.any(Parlour::Types::Type, String)), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void)).void }
816
+ def initialize(generator, name, superclass, &block); end
817
+
818
+ sig { override.returns(String) }
819
+ def describe; end
820
+
821
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
822
+ def generate_rbs(indent_level, options); end
823
+
824
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
825
+ def merge_into_self(others); end
826
+
827
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
828
+ def mergeable?(others); end
829
+
830
+ sig { returns(T.nilable(T.any(Parlour::Types::Type, String))) }
831
+ def superclass; end
832
+ end
833
+
834
+ class Parlour::RbsGenerator::Constant < ::Parlour::RbsGenerator::RbsObject
835
+ sig { params(generator: Parlour::Generator, name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Constant).void)).void }
836
+ def initialize(generator, name, type:, &block); end
837
+
838
+ sig { params(other: Object).returns(T::Boolean) }
839
+ def ==(other); end
840
+
841
+ sig { override.returns(String) }
842
+ def describe; end
843
+
844
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
845
+ def generate_rbs(indent_level, options); end
846
+
847
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
848
+ def merge_into_self(others); end
849
+
850
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
851
+ def mergeable?(others); end
852
+
853
+ sig { returns(T.any(Parlour::Types::Type, String)) }
854
+ def type; end
855
+ end
856
+
857
+ class Parlour::RbsGenerator::Extend < ::Parlour::RbsGenerator::RbsObject
858
+ sig { params(generator: Parlour::Generator, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Extend).void)).void }
859
+ def initialize(generator, type:, &block); end
860
+
861
+ sig { params(other: Object).returns(T::Boolean) }
862
+ def ==(other); end
863
+
864
+ sig { override.returns(String) }
865
+ def describe; end
866
+
867
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
868
+ def generate_rbs(indent_level, options); end
869
+
870
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
871
+ def merge_into_self(others); end
872
+
873
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
874
+ def mergeable?(others); end
875
+
876
+ sig { returns(T.any(Parlour::Types::Type, String)) }
877
+ def type; end
878
+ end
879
+
880
+ class Parlour::RbsGenerator::Include < ::Parlour::RbsGenerator::RbsObject
881
+ sig { params(generator: Parlour::Generator, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Include).void)).void }
882
+ def initialize(generator, type:, &block); end
883
+
884
+ sig { params(other: Object).returns(T::Boolean) }
885
+ def ==(other); end
886
+
887
+ sig { override.returns(String) }
888
+ def describe; end
889
+
890
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
891
+ def generate_rbs(indent_level, options); end
892
+
893
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
894
+ def merge_into_self(others); end
895
+
896
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
897
+ def mergeable?(others); end
898
+
899
+ sig { returns(T.any(Parlour::Types::Type, String)) }
900
+ def type; end
901
+ end
902
+
903
+ class Parlour::RbsGenerator::InterfaceNamespace < ::Parlour::RbsGenerator::Namespace
904
+ sig { override.returns(String) }
905
+ def describe; end
906
+
907
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
908
+ def generate_rbs(indent_level, options); end
909
+ end
910
+
911
+ class Parlour::RbsGenerator::Method < ::Parlour::RbsGenerator::RbsObject
912
+ sig { params(generator: Parlour::Generator, name: String, signatures: T::Array[Parlour::RbsGenerator::MethodSignature], class_method: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Method).void)).void }
913
+ def initialize(generator, name, signatures, class_method: T.unsafe(nil), &block); end
914
+
915
+ sig { overridable.params(other: Object).returns(T::Boolean) }
916
+ def ==(other); end
917
+
918
+ sig { returns(T::Boolean) }
919
+ def class_method; end
920
+
921
+ sig { override.returns(String) }
922
+ def describe; end
923
+
924
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
925
+ def generate_rbs(indent_level, options); end
926
+
927
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
928
+ def merge_into_self(others); end
929
+
930
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
931
+ def mergeable?(others); end
932
+
933
+ sig { returns(T::Array[Parlour::RbsGenerator::MethodSignature]) }
934
+ def signatures; end
935
+ end
936
+
937
+ class Parlour::RbsGenerator::MethodSignature
938
+ sig { params(parameters: T::Array[Parlour::RbsGenerator::Parameter], return_type: T.nilable(T.any(Parlour::Types::Type, String)), block: T.nilable(Parlour::RbsGenerator::Block), type_parameters: T.nilable(T::Array[Symbol])).void }
939
+ def initialize(parameters, return_type = T.unsafe(nil), block: T.unsafe(nil), type_parameters: T.unsafe(nil)); end
940
+
941
+ sig { overridable.params(other: Object).returns(T::Boolean) }
942
+ def ==(other); end
943
+
944
+ sig { returns(T.nilable(Parlour::RbsGenerator::Block)) }
945
+ def block; end
946
+
947
+ sig { params(options: Parlour::Options).returns(T::Array[String]) }
948
+ def generate_rbs(options); end
949
+
950
+ sig { returns(T::Array[Parlour::RbsGenerator::Parameter]) }
951
+ def parameters; end
952
+
953
+ sig { returns(T.nilable(T.any(Parlour::Types::Type, String))) }
954
+ def return_type; end
955
+
956
+ sig { returns(T::Array[Symbol]) }
957
+ def type_parameters; end
958
+ end
959
+
960
+ class Parlour::RbsGenerator::ModuleNamespace < ::Parlour::RbsGenerator::Namespace
961
+ sig { override.returns(String) }
962
+ def describe; end
963
+
964
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
965
+ def generate_rbs(indent_level, options); end
966
+ end
967
+
968
+ class Parlour::RbsGenerator::Namespace < ::Parlour::RbsGenerator::RbsObject
969
+ sig { params(generator: Parlour::Generator, name: T.nilable(String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)).void }
970
+ def initialize(generator, name = T.unsafe(nil), &block); end
971
+
972
+ sig { params(comment: T.any(String, T::Array[String])).void }
973
+ def add_comment_to_next_child(comment); end
974
+
975
+ sig { returns(T::Array[Parlour::RbsGenerator::TypeAlias]) }
976
+ def aliases; end
977
+
978
+ sig { returns(T::Array[Parlour::RbsGenerator::RbsObject]) }
979
+ def children; end
980
+
981
+ sig { returns(T::Array[Parlour::RbsGenerator::Constant]) }
982
+ def constants; end
983
+
984
+ def create_arbitrary(code:, &block); end
985
+ def create_attr(*args, &blk); end
986
+
987
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Attribute).void)).returns(Parlour::RbsGenerator::Attribute) }
988
+ def create_attr_accessor(name, type:, &block); end
989
+
990
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Attribute).void)).returns(Parlour::RbsGenerator::Attribute) }
991
+ def create_attr_reader(name, type:, &block); end
992
+
993
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Attribute).void)).returns(Parlour::RbsGenerator::Attribute) }
994
+ def create_attr_writer(name, type:, &block); end
995
+
996
+ sig { params(name: String, kind: Symbol, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Attribute).void)).returns(Parlour::RbsGenerator::Attribute) }
997
+ def create_attribute(name, kind:, type:, &block); end
998
+
999
+ sig { params(name: String, superclass: T.nilable(T.any(Parlour::Types::Type, String)), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void)).returns(Parlour::RbsGenerator::ClassNamespace) }
1000
+ def create_class(name, superclass: T.unsafe(nil), &block); end
1001
+
1002
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Constant).void)).returns(Parlour::RbsGenerator::Constant) }
1003
+ def create_constant(name, type:, &block); end
1004
+
1005
+ sig { params(type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Extend).void)).returns(Parlour::RbsGenerator::Extend) }
1006
+ def create_extend(type, &block); end
1007
+
1008
+ sig { params(extendables: T::Array[T.any(Parlour::Types::Type, String)]).returns(T::Array[Parlour::RbsGenerator::Extend]) }
1009
+ def create_extends(extendables); end
1010
+
1011
+ sig { params(type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Include).void)).returns(Parlour::RbsGenerator::Include) }
1012
+ def create_include(type, &block); end
1013
+
1014
+ sig { params(includables: T::Array[T.any(Parlour::Types::Type, String)]).returns(T::Array[Parlour::RbsGenerator::Include]) }
1015
+ def create_includes(includables); end
1016
+
1017
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)).returns(Parlour::RbsGenerator::InterfaceNamespace) }
1018
+ def create_interface(name, &block); end
1019
+
1020
+ sig { params(name: String, signatures: T.nilable(T::Array[Parlour::RbsGenerator::MethodSignature]), class_method: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Method).void)).returns(Parlour::RbsGenerator::Method) }
1021
+ def create_method(name, signatures = T.unsafe(nil), class_method: T.unsafe(nil), &block); end
1022
+
1023
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void)).returns(Parlour::RbsGenerator::ModuleNamespace) }
1024
+ def create_module(name, &block); end
1025
+
1026
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::TypeAlias).void)).returns(Parlour::RbsGenerator::TypeAlias) }
1027
+ def create_type_alias(name, type:, &block); end
1028
+
1029
+ sig { override.overridable.returns(String) }
1030
+ def describe; end
1031
+
1032
+ sig { returns(T::Array[Parlour::RbsGenerator::Extend]) }
1033
+ def extends; end
1034
+
1035
+ sig { override.overridable.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
1036
+ def generate_rbs(indent_level, options); end
1037
+
1038
+ sig { returns(T::Array[Parlour::RbsGenerator::Include]) }
1039
+ def includes; end
1040
+
1041
+ sig { override.overridable.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
1042
+ def merge_into_self(others); end
1043
+
1044
+ sig { override.overridable.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1045
+ def mergeable?(others); end
1046
+
1047
+ sig { params(object: T.untyped, block: T.proc.params(x: Parlour::RbsGenerator::Namespace).void).void }
1048
+ def path(object, &block); end
1049
+
1050
+ def type_aliases(*args, &blk); end
1051
+
1052
+ private
1053
+
1054
+ sig { overridable.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
1055
+ def generate_body(indent_level, options); end
1056
+
1057
+ sig { params(object: Parlour::RbsGenerator::RbsObject).void }
1058
+ def move_next_comments(object); end
1059
+ end
1060
+
1061
+ class Parlour::RbsGenerator::Parameter
1062
+ sig { params(name: String, type: T.nilable(T.any(Parlour::Types::Type, String)), required: T::Boolean).void }
1063
+ def initialize(name, type: T.unsafe(nil), required: T.unsafe(nil)); end
1064
+
1065
+ sig { params(other: Object).returns(T::Boolean) }
1066
+ def ==(other); end
1067
+
1068
+ sig { returns(Symbol) }
1069
+ def kind; end
1070
+
1071
+ sig { returns(String) }
1072
+ def name; end
1073
+
1074
+ sig { returns(String) }
1075
+ def name_without_kind; end
1076
+
1077
+ sig { returns(T::Boolean) }
1078
+ def required; end
1079
+
1080
+ sig { returns(String) }
1081
+ def to_rbs_param; end
1082
+
1083
+ sig { returns(T.any(Parlour::Types::Type, String)) }
1084
+ def type; end
1085
+ end
1086
+
1087
+ Parlour::RbsGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash)
1088
+ Parlour::RbsGenerator::Parameter::RBS_KEYWORDS = T.let(T.unsafe(nil), Array)
1089
+
1090
+ class Parlour::RbsGenerator::RbsObject < ::Parlour::TypedObject
1091
+ abstract!
1092
+
1093
+ sig { params(generator: Parlour::Generator, name: String).void }
1094
+ def initialize(generator, name); end
1095
+
1096
+ sig { override.overridable.returns(String) }
1097
+ def describe; end
1098
+
1099
+ sig { abstract.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
1100
+ def generate_rbs(indent_level, options); end
1101
+
1102
+ sig { returns(Parlour::Generator) }
1103
+ def generator; end
1104
+
1105
+ sig { abstract.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
1106
+ def merge_into_self(others); end
1107
+
1108
+ sig { abstract.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1109
+ def mergeable?(others); end
1110
+ end
1111
+
1112
+ class Parlour::RbsGenerator::TypeAlias < ::Parlour::RbsGenerator::RbsObject
1113
+ sig { params(generator: Parlour::Generator, name: String, type: T.any(Parlour::Types::Type, String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::TypeAlias).void)).void }
1114
+ def initialize(generator, name:, type:, &block); end
1115
+
1116
+ sig { params(other: Object).returns(T::Boolean) }
1117
+ def ==(other); end
1118
+
1119
+ sig { override.returns(String) }
1120
+ def describe; end
1121
+
1122
+ sig { override.params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
1123
+ def generate_rbs(indent_level, options); end
1124
+
1125
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).void }
1126
+ def merge_into_self(others); end
1127
+
1128
+ sig { override.params(others: T::Array[Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) }
1129
+ def mergeable?(others); end
1130
+
1131
+ sig { returns(T.any(Parlour::Types::Type, String)) }
1132
+ def type; end
1133
+ end
1134
+
1135
+ module Parlour::TypeLoader
1136
+ class << self
1137
+ sig { params(filename: String, generator: T.nilable(Parlour::RbiGenerator)).returns(Parlour::RbiGenerator::Namespace) }
1138
+ def load_file(filename, generator: T.unsafe(nil)); end
1139
+
1140
+ sig { params(root: String, inclusions: T::Array[String], exclusions: T::Array[String], generator: T.nilable(Parlour::RbiGenerator)).returns(Parlour::RbiGenerator::Namespace) }
1141
+ def load_project(root, inclusions: T.unsafe(nil), exclusions: T.unsafe(nil), generator: T.unsafe(nil)); end
1142
+
1143
+ sig { params(source: String, filename: T.nilable(String), generator: T.nilable(Parlour::RbiGenerator)).returns(Parlour::RbiGenerator::Namespace) }
1144
+ def load_source(source, filename = T.unsafe(nil), generator: T.unsafe(nil)); end
1145
+ end
1146
+ end
1147
+
1148
+ class Parlour::TypeParser
1149
+ sig { params(ast: Parser::AST::Node, unknown_node_errors: T::Boolean, generator: T.nilable(Parlour::RbiGenerator)).void }
1150
+ def initialize(ast, unknown_node_errors: T.unsafe(nil), generator: T.unsafe(nil)); end
1151
+
1152
+ sig { returns(Parser::AST::Node) }
1153
+ def ast; end
1154
+
1155
+ def ast=(_arg0); end
1156
+
1157
+ sig { returns(Parlour::RbiGenerator) }
1158
+ def generator; end
1159
+
1160
+ def generator=(_arg0); end
1161
+
1162
+ sig { returns(Parlour::RbiGenerator::Namespace) }
1163
+ def parse_all; end
1164
+
1165
+ sig { params(path: Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[Parlour::RbiGenerator::Method]) }
1166
+ def parse_method_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end
1167
+
1168
+ sig { params(node: Parser::AST::Node).returns(Parlour::Types::Type) }
1169
+ def parse_node_to_type(node); end
1170
+
1171
+ sig { params(path: Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[Parlour::RbiGenerator::RbiObject]) }
1172
+ def parse_path_to_object(path, is_within_eigenclass: T.unsafe(nil)); end
1173
+
1174
+ sig { params(path: Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[Parlour::RbiGenerator::Method]) }
1175
+ def parse_sig_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end
1176
+
1177
+ sig { params(path: Parlour::TypeParser::NodePath).returns(Parlour::TypeParser::IntermediateSig) }
1178
+ def parse_sig_into_sig(path); end
1179
+
1180
+ sig { returns(T::Boolean) }
1181
+ def unknown_node_errors; end
1182
+
1183
+ protected
1184
+
1185
+ sig { params(node: T.nilable(Parser::AST::Node), modifier: Symbol).returns(T::Boolean) }
1186
+ def body_has_modifier?(node, modifier); end
1187
+
1188
+ sig { params(node: Parser::AST::Node).returns([T::Array[String], T::Array[String]]) }
1189
+ def body_includes_and_extends(node); end
1190
+
1191
+ sig { params(node: T.nilable(Parser::AST::Node)).returns(T::Array[Symbol]) }
1192
+ def constant_names(node); end
1193
+
1194
+ sig { params(node: T.nilable(Parser::AST::Node)).returns(T.nilable(String)) }
1195
+ def node_to_s(node); end
1196
+
1197
+ sig { params(desc: String, node: T.any(Parlour::TypeParser::NodePath, Parser::AST::Node)).returns(T.noreturn) }
1198
+ def parse_err(desc, node); end
1199
+
1200
+ sig { params(path: Parlour::TypeParser::NodePath).returns(T::Boolean) }
1201
+ def previous_sibling_sig_node?(path); end
1202
+
1203
+ sig { params(node: Parser::AST::Node).returns(T::Boolean) }
1204
+ def sig_node?(node); end
1205
+
1206
+ sig { params(msg: String, node: Parser::AST::Node).void }
1207
+ def warning(msg, node); end
1208
+
1209
+ sig { type_parameters(:A, :B).params(a: T::Array[T.type_parameter(:A)], fa: T.proc.params(item: T.type_parameter(:A)).returns(T.untyped), b: T::Array[T.type_parameter(:B)], fb: T.proc.params(item: T.type_parameter(:B)).returns(T.untyped)).returns(T::Array[[T.type_parameter(:A), T.type_parameter(:B)]]) }
1210
+ def zip_by(a, fa, b, fb); end
1211
+
1212
+ class << self
1213
+ sig { params(filename: String, source: String, generator: T.nilable(Parlour::RbiGenerator)).returns(Parlour::TypeParser) }
1214
+ def from_source(filename, source, generator: T.unsafe(nil)); end
1215
+
1216
+ sig { params(str: String).returns(Parlour::Types::Type) }
1217
+ def parse_single_type(str); end
1218
+ end
1219
+ end
1220
+
1221
+ class Parlour::TypeParser::IntermediateSig < ::T::Struct
1222
+ prop :abstract, T::Boolean
1223
+ prop :final, T::Boolean
1224
+ prop :overridable, T::Boolean
1225
+ prop :override, T::Boolean
1226
+ prop :params, T.nilable(T::Array[Parser::AST::Node])
1227
+ prop :return_type, T.nilable(String)
1228
+ prop :type_parameters, T.nilable(T::Array[Symbol])
1229
+
1230
+ class << self
1231
+ def inherited(s); end
1232
+ end
1233
+ end
1234
+
1235
+ class Parlour::TypeParser::NodePath
1236
+ sig { params(indices: T::Array[Integer]).void }
1237
+ def initialize(indices); end
1238
+
1239
+ sig { params(index: Integer).returns(Parlour::TypeParser::NodePath) }
1240
+ def child(index); end
1241
+
1242
+ sig { returns(T::Array[Integer]) }
1243
+ def indices; end
1244
+
1245
+ sig { returns(Parlour::TypeParser::NodePath) }
1246
+ def parent; end
1247
+
1248
+ sig { params(offset: Integer).returns(Parlour::TypeParser::NodePath) }
1249
+ def sibling(offset); end
1250
+
1251
+ sig { params(start: Parser::AST::Node).returns(Parser::AST::Node) }
1252
+ def traverse(start); end
1253
+ end
1254
+
1255
+ class Parlour::TypedObject
1256
+ abstract!
1257
+
1258
+ sig { params(name: String).void }
1259
+ def initialize(name); end
1260
+
1261
+ sig { params(comment: T.any(String, T::Array[String])).void }
1262
+ def add_comment(comment); end
1263
+
1264
+ def add_comments(*args, &blk); end
1265
+
1266
+ sig { returns(T::Array[String]) }
1267
+ def comments; end
1268
+
1269
+ sig { abstract.returns(String) }
1270
+ def describe; end
1271
+
1272
+ sig { returns(T.nilable(Parlour::Plugin)) }
1273
+ def generated_by; end
1274
+
1275
+ sig { returns(String) }
1276
+ def name; end
1277
+
1278
+ protected
1279
+
1280
+ sig { params(indent_level: Integer, options: Parlour::Options).returns(T::Array[String]) }
1281
+ def generate_comments(indent_level, options); end
1282
+ end
1283
+
1284
+ module Parlour::Types; end
1285
+
1286
+ class Parlour::Types::Array < ::Parlour::Types::SingleElementCollection
1287
+ sig { params(other: Object).returns(T::Boolean) }
1288
+ def ==(other); end
1289
+
1290
+ sig { override.returns(String) }
1291
+ def collection_name; end
1292
+ end
1293
+
1294
+ class Parlour::Types::Boolean < ::Parlour::Types::Type
1295
+ sig { params(other: Object).returns(T::Boolean) }
1296
+ def ==(other); end
1297
+
1298
+ sig { override.returns(String) }
1299
+ def describe; end
1300
+
1301
+ sig { override.returns(String) }
1302
+ def generate_rbi; end
1303
+
1304
+ sig { override.returns(String) }
1305
+ def generate_rbs; end
1306
+ end
1307
+
1308
+ class Parlour::Types::Class < ::Parlour::Types::Type
1309
+ sig { params(type: T.any(Parlour::Types::Type, String)).void }
1310
+ def initialize(type); end
1311
+
1312
+ sig { params(other: Object).returns(T::Boolean) }
1313
+ def ==(other); end
1314
+
1315
+ sig { override.returns(String) }
1316
+ def describe; end
1317
+
1318
+ sig { override.returns(String) }
1319
+ def generate_rbi; end
1320
+
1321
+ sig { override.returns(String) }
1322
+ def generate_rbs; end
1323
+
1324
+ sig { returns(Parlour::Types::Type) }
1325
+ def type; end
1326
+ end
1327
+
1328
+ class Parlour::Types::Enumerable < ::Parlour::Types::SingleElementCollection
1329
+ sig { params(other: Object).returns(T::Boolean) }
1330
+ def ==(other); end
1331
+
1332
+ sig { override.returns(String) }
1333
+ def collection_name; end
1334
+ end
1335
+
1336
+ class Parlour::Types::Enumerator < ::Parlour::Types::SingleElementCollection
1337
+ sig { params(other: Object).returns(T::Boolean) }
1338
+ def ==(other); end
1339
+
1340
+ sig { override.returns(String) }
1341
+ def collection_name; end
1342
+ end
1343
+
1344
+ class Parlour::Types::Generic < ::Parlour::Types::Type
1345
+ sig { params(type: T.any(Parlour::Types::Type, String), type_params: T::Array[T.any(Parlour::Types::Type, String)]).void }
1346
+ def initialize(type, type_params); end
1347
+
1348
+ sig { params(other: Object).returns(T::Boolean) }
1349
+ def ==(other); end
1350
+
1351
+ sig { override.returns(String) }
1352
+ def describe; end
1353
+
1354
+ sig { override.returns(String) }
1355
+ def generate_rbi; end
1356
+
1357
+ sig { override.returns(String) }
1358
+ def generate_rbs; end
1359
+
1360
+ sig { returns(Parlour::Types::Type) }
1361
+ def type; end
1362
+
1363
+ sig { returns(T::Array[Parlour::Types::Type]) }
1364
+ def type_params; end
1365
+ end
1366
+
1367
+ class Parlour::Types::Hash < ::Parlour::Types::Type
1368
+ sig { params(key: T.any(Parlour::Types::Type, String), value: T.any(Parlour::Types::Type, String)).void }
1369
+ def initialize(key, value); end
1370
+
1371
+ sig { params(other: Object).returns(T::Boolean) }
1372
+ def ==(other); end
1373
+
1374
+ sig { override.returns(String) }
1375
+ def describe; end
1376
+
1377
+ sig { override.returns(String) }
1378
+ def generate_rbi; end
1379
+
1380
+ sig { override.returns(String) }
1381
+ def generate_rbs; end
1382
+
1383
+ sig { returns(Parlour::Types::Type) }
1384
+ def key; end
1385
+
1386
+ sig { returns(Parlour::Types::Type) }
1387
+ def value; end
1388
+ end
1389
+
1390
+ class Parlour::Types::Intersection < ::Parlour::Types::Type
1391
+ sig { params(types: T::Array[T.any(Parlour::Types::Type, String)]).void }
1392
+ def initialize(types); end
1393
+
1394
+ sig { params(other: Object).returns(T::Boolean) }
1395
+ def ==(other); end
1396
+
1397
+ sig { override.returns(String) }
1398
+ def describe; end
1399
+
1400
+ sig { override.returns(String) }
1401
+ def generate_rbi; end
1402
+
1403
+ sig { override.returns(String) }
1404
+ def generate_rbs; end
1405
+
1406
+ sig { returns(T::Array[Parlour::Types::Type]) }
1407
+ def types; end
1408
+ end
1409
+
1410
+ class Parlour::Types::Nilable < ::Parlour::Types::Type
1411
+ sig { params(type: T.any(Parlour::Types::Type, String)).void }
1412
+ def initialize(type); end
1413
+
1414
+ sig { params(other: Object).returns(T::Boolean) }
1415
+ def ==(other); end
1416
+
1417
+ sig { override.returns(String) }
1418
+ def describe; end
1419
+
1420
+ sig { override.returns(String) }
1421
+ def generate_rbi; end
1422
+
1423
+ sig { override.returns(String) }
1424
+ def generate_rbs; end
1425
+
1426
+ sig { returns(Parlour::Types::Type) }
1427
+ def type; end
1428
+ end
1429
+
1430
+ class Parlour::Types::Proc < ::Parlour::Types::Type
1431
+ sig { params(parameters: T::Array[Parlour::Types::Proc::Parameter], return_type: T.nilable(T.any(Parlour::Types::Type, String))).void }
1432
+ def initialize(parameters, return_type); end
1433
+
1434
+ sig { params(other: Object).returns(T::Boolean) }
1435
+ def ==(other); end
1436
+
1437
+ sig { override.returns(String) }
1438
+ def describe; end
1439
+
1440
+ sig { override.returns(String) }
1441
+ def generate_rbi; end
1442
+
1443
+ sig { override.returns(String) }
1444
+ def generate_rbs; end
1445
+
1446
+ sig { returns(T::Array[Parlour::Types::Proc::Parameter]) }
1447
+ def parameters; end
1448
+
1449
+ sig { returns(T.nilable(Parlour::Types::Type)) }
1450
+ def return_type; end
1451
+ end
1452
+
1453
+ class Parlour::Types::Proc::Parameter
1454
+ sig { params(name: String, type: T.any(Parlour::Types::Type, String), default: T.nilable(String)).void }
1455
+ def initialize(name, type, default = T.unsafe(nil)); end
1456
+
1457
+ sig { params(other: Object).returns(T::Boolean) }
1458
+ def ==(other); end
1459
+
1460
+ sig { returns(T.nilable(String)) }
1461
+ def default; end
1462
+
1463
+ sig { returns(String) }
1464
+ def name; end
1465
+
1466
+ sig { returns(Parlour::Types::Type) }
1467
+ def type; end
1468
+ end
1469
+
1470
+ class Parlour::Types::Range < ::Parlour::Types::SingleElementCollection
1471
+ sig { params(other: Object).returns(T::Boolean) }
1472
+ def ==(other); end
1473
+
1474
+ sig { override.returns(String) }
1475
+ def collection_name; end
1476
+ end
1477
+
1478
+ class Parlour::Types::Raw < ::Parlour::Types::Type
1479
+ sig { params(str: String).void }
1480
+ def initialize(str); end
1481
+
1482
+ sig { params(other: Object).returns(T::Boolean) }
1483
+ def ==(other); end
1484
+
1485
+ sig { override.returns(String) }
1486
+ def describe; end
1487
+
1488
+ sig { override.returns(String) }
1489
+ def generate_rbi; end
1490
+
1491
+ sig { override.returns(String) }
1492
+ def generate_rbs; end
1493
+
1494
+ sig { returns(String) }
1495
+ def str; end
1496
+ end
1497
+
1498
+ class Parlour::Types::Record < ::Parlour::Types::Type
1499
+ sig { params(keys_to_types: T::Hash[Symbol, T.any(Parlour::Types::Type, String)]).void }
1500
+ def initialize(keys_to_types); end
1501
+
1502
+ sig { params(other: Object).returns(T::Boolean) }
1503
+ def ==(other); end
1504
+
1505
+ sig { override.returns(String) }
1506
+ def describe; end
1507
+
1508
+ sig { override.returns(String) }
1509
+ def generate_rbi; end
1510
+
1511
+ sig { override.returns(String) }
1512
+ def generate_rbs; end
1513
+
1514
+ sig { returns(T::Hash[Symbol, Parlour::Types::Type]) }
1515
+ def keys_to_types; end
1516
+ end
1517
+
1518
+ class Parlour::Types::Self < ::Parlour::Types::Type
1519
+ sig { params(other: Object).returns(T::Boolean) }
1520
+ def ==(other); end
1521
+
1522
+ sig { override.returns(String) }
1523
+ def describe; end
1524
+
1525
+ sig { override.returns(String) }
1526
+ def generate_rbi; end
1527
+
1528
+ sig { override.returns(String) }
1529
+ def generate_rbs; end
1530
+ end
1531
+
1532
+ class Parlour::Types::Set < ::Parlour::Types::SingleElementCollection
1533
+ sig { params(other: Object).returns(T::Boolean) }
1534
+ def ==(other); end
1535
+
1536
+ sig { override.returns(String) }
1537
+ def collection_name; end
1538
+ end
1539
+
1540
+ class Parlour::Types::SingleElementCollection < ::Parlour::Types::Type
1541
+ abstract!
1542
+
1543
+ sig { params(element: T.any(Parlour::Types::Type, String)).void }
1544
+ def initialize(element); end
1545
+
1546
+ sig { abstract.returns(String) }
1547
+ def collection_name; end
1548
+
1549
+ sig { override.returns(String) }
1550
+ def describe; end
1551
+
1552
+ sig { returns(Parlour::Types::Type) }
1553
+ def element; end
1554
+
1555
+ sig { override.returns(String) }
1556
+ def generate_rbi; end
1557
+
1558
+ sig { override.returns(String) }
1559
+ def generate_rbs; end
1560
+ end
1561
+
1562
+ class Parlour::Types::Tuple < ::Parlour::Types::Type
1563
+ sig { params(types: T::Array[T.any(Parlour::Types::Type, String)]).void }
1564
+ def initialize(types); end
1565
+
1566
+ sig { params(other: Object).returns(T::Boolean) }
1567
+ def ==(other); end
1568
+
1569
+ sig { override.returns(String) }
1570
+ def describe; end
1571
+
1572
+ sig { override.returns(String) }
1573
+ def generate_rbi; end
1574
+
1575
+ sig { override.returns(String) }
1576
+ def generate_rbs; end
1577
+
1578
+ sig { returns(T::Array[Parlour::Types::Type]) }
1579
+ def types; end
1580
+ end
1581
+
1582
+ class Parlour::Types::Type
1583
+ abstract!
1584
+
1585
+ def initialize(*args, &blk); end
1586
+
1587
+ sig { abstract.returns(String) }
1588
+ def describe; end
1589
+
1590
+ sig { abstract.returns(String) }
1591
+ def generate_rbi; end
1592
+
1593
+ sig { abstract.returns(String) }
1594
+ def generate_rbs; end
1595
+
1596
+ def hash; end
1597
+
1598
+ sig { params(type_like: T.any(Parlour::Types::Type, String)).returns(Parlour::Types::Type) }
1599
+ def to_type(type_like); end
1600
+
1601
+ class << self
1602
+ sig { params(type_like: T.any(Parlour::Types::Type, String)).returns(Parlour::Types::Type) }
1603
+ def to_type(type_like); end
1604
+ end
1605
+ end
1606
+
1607
+ Parlour::Types::TypeLike = T.type_alias { T.any(Parlour::Types::Type, String) }
1608
+
1609
+ class Parlour::Types::Union < ::Parlour::Types::Type
1610
+ sig { params(types: T::Array[T.any(Parlour::Types::Type, String)]).void }
1611
+ def initialize(types); end
1612
+
1613
+ sig { params(other: Object).returns(T::Boolean) }
1614
+ def ==(other); end
1615
+
1616
+ sig { override.returns(String) }
1617
+ def describe; end
1618
+
1619
+ sig { override.returns(String) }
1620
+ def generate_rbi; end
1621
+
1622
+ sig { override.returns(String) }
1623
+ def generate_rbs; end
1624
+
1625
+ sig { returns(T::Array[Parlour::Types::Type]) }
1626
+ def types; end
1627
+ end
1628
+
1629
+ class Parlour::Types::Untyped < ::Parlour::Types::Type
1630
+ sig { params(other: Object).returns(T::Boolean) }
1631
+ def ==(other); end
1632
+
1633
+ sig { override.returns(String) }
1634
+ def describe; end
1635
+
1636
+ sig { override.returns(String) }
1637
+ def generate_rbi; end
1638
+
1639
+ sig { override.returns(String) }
1640
+ def generate_rbs; end
1641
+ end
1642
+
1643
+ Parlour::VERSION = T.let(T.unsafe(nil), String)
1644
+
1645
+ class Parser::AST::Node < ::AST::Node
1646
+ def assign_properties(properties); end
1647
+ def loc; end
1648
+ def location; end
1649
+ end
1650
+
1651
+ class Parser::Source::Buffer
1652
+ def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end
1653
+
1654
+ def column_for_position(position); end
1655
+ def decompose_position(position); end
1656
+ def first_line; end
1657
+ def freeze; end
1658
+ def inspect; end
1659
+ def last_line; end
1660
+ def line_for_position(position); end
1661
+ def line_range(lineno); end
1662
+ def name; end
1663
+ def raw_source=(input); end
1664
+ def read; end
1665
+ def slice(range); end
1666
+ def source; end
1667
+ def source=(input); end
1668
+ def source_line(lineno); end
1669
+ def source_lines; end
1670
+ def source_range; end
1671
+
1672
+ private
1673
+
1674
+ def bsearch(line_begins, position); end
1675
+ def line_begins; end
1676
+ def line_index_for_position(position); end
1677
+
1678
+ class << self
1679
+ def recognize_encoding(string); end
1680
+ def reencode_string(input); end
1681
+ end
1682
+ end
1683
+
1684
+ Parser::Source::Buffer::ENCODING_RE = T.let(T.unsafe(nil), Regexp)
1685
+
1686
+ class Parser::Source::Range
1687
+ include ::Comparable
1688
+ include ::RuboCop::AST::Ext::Range
1689
+
1690
+ def initialize(source_buffer, begin_pos, end_pos); end
1691
+
1692
+ def <=>(other); end
1693
+ def adjust(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end
1694
+ def begin; end
1695
+ def begin_pos; end
1696
+ def column; end
1697
+ def column_range; end
1698
+ def contained?(other); end
1699
+ def contains?(other); end
1700
+ def crossing?(other); end
1701
+ def disjoint?(other); end
1702
+ def empty?; end
1703
+ def end; end
1704
+ def end_pos; end
1705
+ def eql?(_arg0); end
1706
+ def first_line; end
1707
+ def hash; end
1708
+ def inspect; end
1709
+ def intersect(other); end
1710
+ def is?(*what); end
1711
+ def join(other); end
1712
+ def last_column; end
1713
+ def last_line; end
1714
+ def length; end
1715
+ def line; end
1716
+ def overlaps?(other); end
1717
+ def resize(new_size); end
1718
+ def size; end
1719
+ def source; end
1720
+ def source_buffer; end
1721
+ def source_line; end
1722
+ def to_a; end
1723
+ def to_range; end
1724
+ def to_s; end
1725
+ def with(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end
1726
+ end