mangrove 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +42 -0
  3. data/LICENSE +21 -0
  4. data/README.md +54 -0
  5. data/Rakefile +14 -0
  6. data/lib/mangrove/control_flow/control_signal.rb +16 -0
  7. data/lib/mangrove/control_flow/rewriter.rb +152 -0
  8. data/lib/mangrove/control_flow.rb +84 -0
  9. data/lib/mangrove/interfaces.rb +8 -0
  10. data/lib/mangrove/mangrove.rb +35 -0
  11. data/lib/mangrove/option/control_signal.rb +33 -0
  12. data/lib/mangrove/option.rb +134 -0
  13. data/lib/mangrove/result/control_signal.rb +33 -0
  14. data/lib/mangrove/result.rb +167 -0
  15. data/lib/mangrove/version.rb +6 -0
  16. data/lib/mangrove.rb +8 -0
  17. data/sig/mangrove.rbs +4 -0
  18. data/sorbet/config +4 -0
  19. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  20. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  21. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  22. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  26. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/ordinare@0.4.0.rbi +77 -0
  29. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  30. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  31. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  32. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  34. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  35. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  36. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  37. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  38. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  39. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  40. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  41. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +163 -0
  42. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  43. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +189 -0
  45. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  46. data/sorbet/rbi/gems/rubocop@1.56.0.rbi +56491 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.8.0.rbi +11 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  49. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  50. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  51. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  52. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  53. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  54. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  55. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  56. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  57. data/sorbet/rbi/shims/gems/rspec-core.rbi +12 -0
  58. data/sorbet/rbi/shims/gems/rspec-expectations.rbi +8 -0
  59. data/sorbet/rbi/shims/mangrove/option.rbi +15 -0
  60. data/sorbet/rbi/shims/mangrove/result.rbi +15 -0
  61. data/sorbet/tapioca/config.yml +13 -0
  62. data/sorbet/tapioca/require.rb +4 -0
  63. metadata +161 -0
@@ -0,0 +1,428 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `yard-sorbet` gem.
5
+ # Please instead update this file by running `bin/tapioca gem yard-sorbet`.
6
+
7
+ class YARD::Handlers::Ruby::ClassHandler < ::YARD::Handlers::Ruby::Base
8
+ include ::YARDSorbet::Handlers::StructClassHandler
9
+ end
10
+
11
+ # Types are documentation
12
+ #
13
+ # source://yard-sorbet//lib/yard-sorbet/version.rb#5
14
+ module YARDSorbet; end
15
+
16
+ # Extract & re-add directives to a docstring
17
+ #
18
+ # source://yard-sorbet//lib/yard-sorbet/directives.rb#6
19
+ module YARDSorbet::Directives
20
+ class << self
21
+ # source://yard-sorbet//lib/yard-sorbet/directives.rb#21
22
+ sig { params(docstring: ::String, directives: T::Array[::String]).void }
23
+ def add_directives(docstring, directives); end
24
+
25
+ # source://yard-sorbet//lib/yard-sorbet/directives.rb#10
26
+ sig { params(docstring: T.nilable(::String)).returns([::YARD::Docstring, T::Array[::String]]) }
27
+ def extract_directives(docstring); end
28
+ end
29
+ end
30
+
31
+ # Custom YARD Handlers
32
+ #
33
+ # @see https://rubydoc.info/gems/yard/YARD/Handlers/Base YARD Base Handler documentation
34
+ #
35
+ # source://yard-sorbet//lib/yard-sorbet/handlers.rb#7
36
+ module YARDSorbet::Handlers; end
37
+
38
+ # Apllies an `@abstract` tag to `abstract!`/`interface!` modules (if not alerady present).
39
+ #
40
+ # source://yard-sorbet//lib/yard-sorbet/handlers/abstract_dsl_handler.rb#7
41
+ class YARDSorbet::Handlers::AbstractDSLHandler < ::YARD::Handlers::Ruby::Base
42
+ # source://yard-sorbet//lib/yard-sorbet/handlers/abstract_dsl_handler.rb#21
43
+ sig { void }
44
+ def process; end
45
+ end
46
+
47
+ # Extra text for class namespaces
48
+ #
49
+ # source://yard-sorbet//lib/yard-sorbet/handlers/abstract_dsl_handler.rb#18
50
+ YARDSorbet::Handlers::AbstractDSLHandler::CLASS_TAG_TEXT = T.let(T.unsafe(nil), String)
51
+
52
+ # The text accompanying the `@abstract` tag.
53
+ #
54
+ # @see https://github.com/lsegal/yard/blob/main/templates/default/docstring/html/abstract.erb The `@abstract` tag template
55
+ #
56
+ # source://yard-sorbet//lib/yard-sorbet/handlers/abstract_dsl_handler.rb#16
57
+ YARDSorbet::Handlers::AbstractDSLHandler::TAG_TEXT = T.let(T.unsafe(nil), String)
58
+
59
+ # Handle `enums` calls, registering enum values as constants
60
+ #
61
+ # source://yard-sorbet//lib/yard-sorbet/handlers/enums_handler.rb#7
62
+ class YARDSorbet::Handlers::EnumsHandler < ::YARD::Handlers::Ruby::Base
63
+ # source://yard-sorbet//lib/yard-sorbet/handlers/enums_handler.rb#14
64
+ sig { void }
65
+ def process; end
66
+
67
+ private
68
+
69
+ # source://yard-sorbet//lib/yard-sorbet/handlers/enums_handler.rb#29
70
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Boolean) }
71
+ def const_assign_node?(node); end
72
+ end
73
+
74
+ # Extends any modules included via `mixes_in_class_methods`
75
+ #
76
+ # @see https://sorbet.org/docs/abstract#interfaces-and-the-included-hook Sorbet `mixes_in_class_methods` documentation
77
+ #
78
+ # source://yard-sorbet//lib/yard-sorbet/handlers/include_handler.rb#9
79
+ class YARDSorbet::Handlers::IncludeHandler < ::YARD::Handlers::Ruby::Base
80
+ # source://yard-sorbet//lib/yard-sorbet/handlers/include_handler.rb#16
81
+ sig { void }
82
+ def process; end
83
+
84
+ private
85
+
86
+ # source://yard-sorbet//lib/yard-sorbet/handlers/include_handler.rb#28
87
+ sig { returns(::YARD::CodeObjects::NamespaceObject) }
88
+ def included_in; end
89
+ end
90
+
91
+ # Tracks modules that invoke `mixes_in_class_methods` for use in {IncludeHandler}
92
+ #
93
+ # @see https://sorbet.org/docs/abstract#interfaces-and-the-included-hook Sorbet `mixes_in_class_methods` documentation
94
+ #
95
+ # source://yard-sorbet//lib/yard-sorbet/handlers/mixes_in_class_methods_handler.rb#9
96
+ class YARDSorbet::Handlers::MixesInClassMethodsHandler < ::YARD::Handlers::Ruby::Base
97
+ # source://yard-sorbet//lib/yard-sorbet/handlers/mixes_in_class_methods_handler.rb#23
98
+ sig { void }
99
+ def process; end
100
+
101
+ class << self
102
+ # source://yard-sorbet//lib/yard-sorbet/handlers/mixes_in_class_methods_handler.rb#18
103
+ sig { params(code_obj: ::String).returns(T.nilable(T::Array[::String])) }
104
+ def mixed_in_class_methods(code_obj); end
105
+ end
106
+ end
107
+
108
+ # A YARD Handler for Sorbet type declarations
109
+ #
110
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#7
111
+ class YARDSorbet::Handlers::SigHandler < ::YARD::Handlers::Ruby::Base
112
+ # Swap the method definition docstring and the sig docstring.
113
+ # Parse relevant parts of the `sig` and include them as well.
114
+ #
115
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#24
116
+ sig { void }
117
+ def process; end
118
+
119
+ private
120
+
121
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#73
122
+ sig { params(method_objects: T::Array[::YARD::CodeObjects::MethodObject]).void }
123
+ def document_attr_methods(method_objects); end
124
+
125
+ # An attr* sig can be merged into a previous attr* docstring if it is the only parameter passed to the attr*
126
+ # declaration. This is to avoid needing to rewrite the source code to separate merged and unmerged attr*
127
+ # declarations.
128
+ #
129
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#60
130
+ sig { params(attr_node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Boolean) }
131
+ def merged_into_attr?(attr_node); end
132
+
133
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#78
134
+ sig do
135
+ params(
136
+ attach_to: T.any(::YARD::CodeObjects::MethodObject, ::YARD::Parser::Ruby::MethodCallNode, ::YARD::Parser::Ruby::MethodDefinitionNode),
137
+ docstring: T.nilable(::String),
138
+ include_params: T::Boolean
139
+ ).void
140
+ end
141
+ def parse_node(attach_to, docstring, include_params: T.unsafe(nil)); end
142
+
143
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#99
144
+ sig { params(node: ::YARD::Parser::Ruby::AstNode, docstring: ::YARD::Docstring).void }
145
+ def parse_params(node, docstring); end
146
+
147
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#109
148
+ sig { params(node: ::YARD::Parser::Ruby::AstNode, docstring: ::YARD::Docstring).void }
149
+ def parse_return(node, docstring); end
150
+
151
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#87
152
+ sig { params(docstring: ::YARD::Docstring, include_params: T::Boolean).void }
153
+ def parse_sig(docstring, include_params: T.unsafe(nil)); end
154
+
155
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#50
156
+ sig { params(attr_node: ::YARD::Parser::Ruby::MethodCallNode).void }
157
+ def process_attr(attr_node); end
158
+
159
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#36
160
+ sig { params(def_node: ::YARD::Parser::Ruby::MethodDefinitionNode).void }
161
+ def process_def(def_node); end
162
+ end
163
+
164
+ # YARD types that can have docstrings attached to them
165
+ #
166
+ # source://yard-sorbet//lib/yard-sorbet/handlers/sig_handler.rb#14
167
+ YARDSorbet::Handlers::SigHandler::Documentable = T.type_alias { T.any(::YARD::CodeObjects::MethodObject, ::YARD::Parser::Ruby::MethodCallNode, ::YARD::Parser::Ruby::MethodDefinitionNode) }
168
+
169
+ # Class-level handler that folds all `const` and `prop` declarations into the constructor documentation
170
+ # this needs to be injected as a module otherwise the default Class handler will overwrite documentation
171
+ #
172
+ # @note this module is included in `YARD::Handlers::Ruby::ClassHandler`
173
+ #
174
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_class_handler.rb#10
175
+ module YARDSorbet::Handlers::StructClassHandler
176
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_class_handler.rb#14
177
+ sig { void }
178
+ def process; end
179
+
180
+ private
181
+
182
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_class_handler.rb#50
183
+ sig do
184
+ params(
185
+ object: ::YARD::CodeObjects::MethodObject,
186
+ props: T::Array[::YARDSorbet::TStructProp],
187
+ docstring: ::YARD::Docstring,
188
+ directives: T::Array[::String]
189
+ ).void
190
+ end
191
+ def decorate_t_struct_init(object, props, docstring, directives); end
192
+
193
+ # Create a virtual `initialize` method with all the `prop`/`const` arguments
194
+ #
195
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_class_handler.rb#30
196
+ sig { params(props: T::Array[::YARDSorbet::TStructProp], class_ns: ::YARD::CodeObjects::ClassObject).void }
197
+ def process_t_struct_props(props, class_ns); end
198
+
199
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_class_handler.rb#60
200
+ sig { params(props: T::Array[::YARDSorbet::TStructProp]).returns(T::Array[[::String, T.nilable(::String)]]) }
201
+ def to_object_parameters(props); end
202
+ end
203
+
204
+ # Handles all `const`/`prop` calls, creating accessor methods, and compiles them for later usage at the class level
205
+ # in creating a constructor
206
+ #
207
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#8
208
+ class YARDSorbet::Handlers::StructPropHandler < ::YARD::Handlers::Ruby::Base
209
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#15
210
+ sig { void }
211
+ def process; end
212
+
213
+ private
214
+
215
+ # Add the source and docstring to the method object
216
+ #
217
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#28
218
+ sig { params(object: ::YARD::CodeObjects::MethodObject, prop: ::YARDSorbet::TStructProp).void }
219
+ def decorate_object(object, prop); end
220
+
221
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#38
222
+ sig { returns(T::Boolean) }
223
+ def immutable?; end
224
+
225
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#44
226
+ sig { params(kwd: ::String).returns(T.nilable(::String)) }
227
+ def kw_arg(kwd); end
228
+
229
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#49
230
+ sig { params(name: ::String).returns(::YARDSorbet::TStructProp) }
231
+ def make_prop(name); end
232
+
233
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#60
234
+ sig { returns(T::Array[::YARD::Parser::Ruby::AstNode]) }
235
+ def params; end
236
+
237
+ # Register the field explicitly as an attribute.
238
+ #
239
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#66
240
+ sig { params(object: ::YARD::CodeObjects::MethodObject, name: ::String).void }
241
+ def register_attrs(object, name); end
242
+
243
+ # Store the prop for use in the constructor definition
244
+ #
245
+ # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#74
246
+ sig { params(prop: ::YARDSorbet::TStructProp).void }
247
+ def update_state(prop); end
248
+ end
249
+
250
+ # Helper methods for working with `YARD` AST Nodes
251
+ #
252
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#6
253
+ module YARDSorbet::NodeUtils
254
+ class << self
255
+ # Traverse AST nodes in breadth-first order
256
+ #
257
+ # @note This will skip over some node types.
258
+ # @yield [YARD::Parser::Ruby::AstNode]
259
+ #
260
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#21
261
+ sig do
262
+ params(
263
+ node: ::YARD::Parser::Ruby::AstNode,
264
+ _blk: T.proc.params(n: ::YARD::Parser::Ruby::AstNode).void
265
+ ).void
266
+ end
267
+ def bfs_traverse(node, &_blk); end
268
+
269
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#32
270
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).void }
271
+ def delete_node(node); end
272
+
273
+ # Gets the node that a sorbet `sig` can be attached do, bypassing visisbility modifiers and the like
274
+ #
275
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#38
276
+ sig do
277
+ params(
278
+ node: ::YARD::Parser::Ruby::AstNode
279
+ ).returns(T.any(::YARD::Parser::Ruby::MethodCallNode, ::YARD::Parser::Ruby::MethodDefinitionNode))
280
+ end
281
+ def get_method_node(node); end
282
+
283
+ # Find and return the adjacent node (ascending)
284
+ #
285
+ # @raise [IndexError] if the node does not have an adjacent sibling (ascending)
286
+ #
287
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#45
288
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(::YARD::Parser::Ruby::AstNode) }
289
+ def sibling_node(node); end
290
+
291
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#52
292
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Boolean) }
293
+ def sigable_node?(node); end
294
+
295
+ # @see https://github.com/lsegal/yard/blob/main/lib/yard/handlers/ruby/attribute_handler.rb YARD::Handlers::Ruby::AttributeHandler.validated_attribute_names
296
+ #
297
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#63
298
+ sig { params(attr_node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) }
299
+ def validated_attribute_names(attr_node); end
300
+ end
301
+ end
302
+
303
+ # Command node types that can have type signatures
304
+ #
305
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#10
306
+ YARDSorbet::NodeUtils::ATTRIBUTE_METHODS = T.let(T.unsafe(nil), Array)
307
+
308
+ # Skip these method contents during BFS node traversal, they can have their own nested types via `T.Proc`
309
+ #
310
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#12
311
+ YARDSorbet::NodeUtils::SKIP_METHOD_CONTENTS = T.let(T.unsafe(nil), Array)
312
+
313
+ # Node types that can have type signatures
314
+ #
315
+ # source://yard-sorbet//lib/yard-sorbet/node_utils.rb#14
316
+ YARDSorbet::NodeUtils::SigableNode = T.type_alias { T.any(::YARD::Parser::Ruby::MethodCallNode, ::YARD::Parser::Ruby::MethodDefinitionNode) }
317
+
318
+ # Translate `sig` type syntax to `YARD` type syntax.
319
+ #
320
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#6
321
+ module YARDSorbet::SigToYARD
322
+ class << self
323
+ # @see https://yardoc.org/types.html
324
+ #
325
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#23
326
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
327
+ def convert(node); end
328
+
329
+ private
330
+
331
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#61
332
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(::String) }
333
+ def build_generic_type(node); end
334
+
335
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#70
336
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
337
+ def convert_aref(node); end
338
+
339
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#82
340
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
341
+ def convert_array(node); end
342
+
343
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#90
344
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
345
+ def convert_collection(node); end
346
+
347
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#97
348
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
349
+ def convert_hash(node); end
350
+
351
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#105
352
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
353
+ def convert_list(node); end
354
+
355
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#31
356
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
357
+ def convert_node(node); end
358
+
359
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#43
360
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
361
+ def convert_node_type(node); end
362
+
363
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#110
364
+ sig { params(node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) }
365
+ def convert_t_method(node); end
366
+
367
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#121
368
+ sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
369
+ def convert_unknown(node); end
370
+ end
371
+ end
372
+
373
+ # Used to store the details of a `T::Struct` `prop` definition
374
+ #
375
+ # source://yard-sorbet//lib/yard-sorbet/t_struct_prop.rb#6
376
+ class YARDSorbet::TStructProp < ::T::Struct
377
+ const :default, T.nilable(::String)
378
+ const :doc, ::String
379
+ const :prop_name, ::String
380
+ const :source, ::String
381
+ const :types, T::Array[::String]
382
+
383
+ class << self
384
+ # source://sorbet-runtime/0.5.10962/lib/types/struct.rb#13
385
+ def inherited(s); end
386
+ end
387
+ end
388
+
389
+ # Helper methods for working with `YARD` tags
390
+ #
391
+ # source://yard-sorbet//lib/yard-sorbet/tag_utils.rb#6
392
+ module YARDSorbet::TagUtils
393
+ class << self
394
+ # source://yard-sorbet//lib/yard-sorbet/tag_utils.rb#16
395
+ sig do
396
+ params(
397
+ docstring: ::YARD::Docstring,
398
+ tag_name: ::String,
399
+ name: T.nilable(::String)
400
+ ).returns(T.nilable(::YARD::Tags::Tag))
401
+ end
402
+ def find_tag(docstring, tag_name, name); end
403
+
404
+ # Create or update a `YARD` tag with type information
405
+ #
406
+ # source://yard-sorbet//lib/yard-sorbet/tag_utils.rb#30
407
+ sig do
408
+ params(
409
+ docstring: ::YARD::Docstring,
410
+ tag_name: ::String,
411
+ types: T.nilable(T::Array[::String]),
412
+ name: T.nilable(::String),
413
+ text: ::String
414
+ ).void
415
+ end
416
+ def upsert_tag(docstring, tag_name, types = T.unsafe(nil), name = T.unsafe(nil), text = T.unsafe(nil)); end
417
+ end
418
+ end
419
+
420
+ # The `void` return type, as a constant to reduce array allocations
421
+ #
422
+ # source://yard-sorbet//lib/yard-sorbet/tag_utils.rb#10
423
+ YARDSorbet::TagUtils::VOID_RETURN_TYPE = T.let(T.unsafe(nil), Array)
424
+
425
+ # {https://rubygems.org/gems/yard-sorbet Version history}
426
+ #
427
+ # source://yard-sorbet//lib/yard-sorbet/version.rb#7
428
+ YARDSorbet::VERSION = T.let(T.unsafe(nil), String)