rigortype 0.0.1 → 0.0.3

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/data/builtins/ruby_core/array.yml +1470 -0
  3. data/data/builtins/ruby_core/file.yml +501 -0
  4. data/data/builtins/ruby_core/io.yml +1594 -0
  5. data/data/builtins/ruby_core/numeric.yml +1809 -0
  6. data/data/builtins/ruby_core/string.yml +1850 -0
  7. data/lib/rigor/analysis/check_rules.rb +297 -5
  8. data/lib/rigor/analysis/diagnostic.rb +13 -2
  9. data/lib/rigor/analysis/runner.rb +52 -5
  10. data/lib/rigor/builtins/imported_refinements.rb +69 -0
  11. data/lib/rigor/cli/type_of_command.rb +11 -5
  12. data/lib/rigor/cli/type_scan_command.rb +13 -8
  13. data/lib/rigor/cli.rb +26 -6
  14. data/lib/rigor/configuration.rb +18 -2
  15. data/lib/rigor/environment.rb +3 -1
  16. data/lib/rigor/inference/acceptance.rb +180 -0
  17. data/lib/rigor/inference/builtins/array_catalog.rb +46 -0
  18. data/lib/rigor/inference/builtins/method_catalog.rb +90 -0
  19. data/lib/rigor/inference/builtins/numeric_catalog.rb +93 -0
  20. data/lib/rigor/inference/builtins/string_catalog.rb +39 -0
  21. data/lib/rigor/inference/expression_typer.rb +151 -0
  22. data/lib/rigor/inference/method_dispatcher/constant_folding.rb +650 -16
  23. data/lib/rigor/inference/method_dispatcher/file_folding.rb +144 -0
  24. data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +113 -0
  25. data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +4 -0
  26. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +107 -0
  27. data/lib/rigor/inference/method_dispatcher.rb +28 -21
  28. data/lib/rigor/inference/narrowing.rb +471 -10
  29. data/lib/rigor/inference/scope_indexer.rb +66 -0
  30. data/lib/rigor/inference/statement_evaluator.rb +305 -2
  31. data/lib/rigor/rbs_extended.rb +174 -14
  32. data/lib/rigor/scope.rb +44 -5
  33. data/lib/rigor/type/combinator.rb +69 -1
  34. data/lib/rigor/type/difference.rb +155 -0
  35. data/lib/rigor/type/integer_range.rb +137 -0
  36. data/lib/rigor/type.rb +2 -0
  37. data/lib/rigor/version.rb +1 -1
  38. data/sig/rigor/inference.rbs +5 -2
  39. data/sig/rigor/rbs_extended.rbs +25 -1
  40. data/sig/rigor/scope.rbs +4 -0
  41. data/sig/rigor/type.rbs +51 -1
  42. metadata +15 -1
@@ -0,0 +1,1850 @@
1
+ # DO NOT EDIT — generated by tool/extract_builtin_catalog.rb
2
+ ---
3
+ schema_version: 1
4
+ generated_from:
5
+ ruby_init_c: references/ruby/string.c
6
+ ruby_prelude:
7
+ rbs:
8
+ - references/rbs/core/string.rbs
9
+ - references/rbs/core/symbol.rbs
10
+ purity_levels:
11
+ leaf: Prelude :leaf marker (VM-enforced) or C body uses no dispatch/yield/mutation.
12
+ trivial: Prelude method body is a literal return (self/true/false/nil/Integer).
13
+ leaf_when_numeric: C body falls through to rb_num_coerce_* only when an operand
14
+ is non-numeric; safe to fold when every argument is a concrete numeric.
15
+ inline_block: Prelude method carries :inline_block or :use_block; block-dependent.
16
+ block_dependent: C body yields or checks rb_block_given_p.
17
+ mutates_self: C body checks rb_check_frozen — typically a prelude to mutation.
18
+ dispatch: C body calls user-redefinable methods (rb_funcall*, rb_equal, rb_Float,
19
+ num_funcall*, etc).
20
+ unknown: C body not located in indexed C files.
21
+ classes:
22
+ String:
23
+ parent: Object
24
+ defined_at: references/ruby/string.c:12785
25
+ includes:
26
+ - module: Comparable
27
+ defined_at: references/ruby/string.c:12789
28
+ constants: {}
29
+ aliases:
30
+ dedup:
31
+ old: "-@"
32
+ source: c
33
+ defined_at: references/ruby/string.c:12837
34
+ instance_methods:
35
+ initialize:
36
+ source: c
37
+ cfunc: rb_str_init
38
+ arity: -1
39
+ defined_at: references/ruby/string.c:12793
40
+ c_body_at: references/ruby/string.c:2065
41
+ c_effects:
42
+ - mutate
43
+ purity: mutates_self
44
+ rbs:
45
+ - "(?string source, ?encoding: encoding, ?capacity: int) -> void"
46
+ rbs_at: references/rbs/core/string.rbs:1039
47
+ replace:
48
+ source: c
49
+ cfunc: rb_str_replace
50
+ arity: 1
51
+ defined_at: references/ruby/string.c:12794
52
+ c_body_at: references/ruby/string.c:6548
53
+ c_effects: []
54
+ purity: leaf
55
+ rbs:
56
+ - "(string other_string) -> self"
57
+ rbs_at: references/rbs/core/string.rbs:4019
58
+ initialize_copy:
59
+ source: c
60
+ cfunc: rb_str_replace
61
+ arity: 1
62
+ defined_at: references/ruby/string.c:12795
63
+ c_body_at: references/ruby/string.c:6548
64
+ c_effects: []
65
+ purity: leaf
66
+ "<=>":
67
+ source: c
68
+ cfunc: rb_str_cmp_m
69
+ arity: 1
70
+ defined_at: references/ruby/string.c:12796
71
+ c_body_at: references/ruby/string.c:4327
72
+ c_effects:
73
+ - dispatch
74
+ purity: dispatch
75
+ rbs:
76
+ - "(string) -> (-1 | 0 | 1)"
77
+ - "(untyped) -> (-1 | 0 | 1)?"
78
+ rbs_at: references/rbs/core/string.rbs:1219
79
+ "==":
80
+ source: c
81
+ cfunc: rb_str_equal
82
+ arity: 1
83
+ defined_at: references/ruby/string.c:12797
84
+ c_body_at: references/ruby/string.c:4269
85
+ c_effects:
86
+ - dispatch
87
+ purity: dispatch
88
+ rbs:
89
+ - "(untyped other) -> bool"
90
+ rbs_at: references/rbs/core/string.rbs:1248
91
+ "===":
92
+ source: c
93
+ cfunc: rb_str_equal
94
+ arity: 1
95
+ defined_at: references/ruby/string.c:12798
96
+ c_body_at: references/ruby/string.c:4269
97
+ c_effects:
98
+ - dispatch
99
+ purity: dispatch
100
+ eql?:
101
+ source: c
102
+ cfunc: rb_str_eql
103
+ arity: 1
104
+ defined_at: references/ruby/string.c:12799
105
+ c_body_at: references/ruby/string.c:4290
106
+ c_effects: []
107
+ purity: leaf
108
+ rbs:
109
+ - "(untyped other) -> bool"
110
+ rbs_at: references/rbs/core/string.rbs:3180
111
+ hash:
112
+ source: c
113
+ cfunc: rb_str_hash_m
114
+ arity: 0
115
+ defined_at: references/ruby/string.c:12800
116
+ c_body_at: references/ruby/string.c:4182
117
+ c_effects: []
118
+ purity: leaf
119
+ rbs:
120
+ - "() -> Integer"
121
+ rbs_at: references/rbs/core/string.rbs:3365
122
+ casecmp:
123
+ source: c
124
+ cfunc: rb_str_casecmp
125
+ arity: 1
126
+ defined_at: references/ruby/string.c:12801
127
+ c_body_at: references/ruby/string.c:4368
128
+ c_effects:
129
+ - dispatch
130
+ purity: dispatch
131
+ rbs:
132
+ - "(string other) -> (-1 | 0 | 1)"
133
+ - "(untyped) -> (-1 | 0 | 1)?"
134
+ rbs_at: references/rbs/core/string.rbs:2092
135
+ casecmp?:
136
+ source: c
137
+ cfunc: rb_str_casecmp_p
138
+ arity: 1
139
+ defined_at: references/ruby/string.c:12802
140
+ c_body_at: references/ruby/string.c:4457
141
+ c_effects:
142
+ - dispatch
143
+ purity: dispatch
144
+ rbs:
145
+ - "(string other) -> bool"
146
+ - "(untyped) -> bool?"
147
+ rbs_at: references/rbs/core/string.rbs:2116
148
+ "+":
149
+ source: c
150
+ cfunc: rb_str_plus
151
+ arity: 1
152
+ defined_at: references/ruby/string.c:12803
153
+ c_body_at: references/ruby/string.c:2487
154
+ c_effects:
155
+ - raises
156
+ purity: leaf
157
+ rbs:
158
+ - "(string other_string) -> String"
159
+ rbs_at: references/rbs/core/string.rbs:1101
160
+ "*":
161
+ source: c
162
+ cfunc: rb_str_times
163
+ arity: 1
164
+ defined_at: references/ruby/string.c:12804
165
+ c_body_at: references/ruby/string.c:2560
166
+ c_effects:
167
+ - raises
168
+ purity: leaf
169
+ rbs:
170
+ - "(int amount) -> String"
171
+ rbs_at: references/rbs/core/string.rbs:1088
172
+ "%":
173
+ source: c
174
+ cfunc: rb_str_format_m
175
+ arity: 1
176
+ defined_at: references/ruby/string.c:12805
177
+ c_body_at: references/ruby/string.c:2638
178
+ c_effects: []
179
+ purity: leaf
180
+ rbs:
181
+ - "(array[untyped] positional_args) -> String"
182
+ - "(hash[Symbol, untyped] named_args) -> String"
183
+ - "(untyped arg) -> String"
184
+ rbs_at: references/rbs/core/string.rbs:1072
185
+ "[]":
186
+ source: c
187
+ cfunc: rb_str_aref_m
188
+ arity: -1
189
+ defined_at: references/ruby/string.c:12806
190
+ c_body_at: references/ruby/string.c:5728
191
+ c_effects: []
192
+ purity: leaf
193
+ rbs:
194
+ - "(int start, ?int length) -> String?"
195
+ - "(range[int?] range) -> String?"
196
+ - "(Regexp regexp, ?MatchData::capture backref) -> String?"
197
+ - "(String substring) -> String?"
198
+ rbs_at: references/rbs/core/string.rbs:1416
199
+ "[]=":
200
+ source: c
201
+ cfunc: rb_str_aset_m
202
+ arity: -1
203
+ defined_at: references/ruby/string.c:12807
204
+ c_body_at: references/ruby/string.c:5949
205
+ c_effects:
206
+ - mutate
207
+ purity: mutates_self
208
+ rbs:
209
+ - "[T < _ToStr] (int index, T replacement) -> T"
210
+ - "[T < _ToStr] (int start, int length, T replacement) -> T"
211
+ - "[T < _ToStr] (range[int?] range, T replacement) -> T"
212
+ - "[T < _ToStr] (Regexp regexp, T replacement) -> T"
213
+ - "[T < _ToStr] (Regexp regexp, MatchData::capture backref, T replacement)
214
+ -> T"
215
+ - "[T < _ToStr] (String substring, T replacement) -> T"
216
+ rbs_at: references/rbs/core/string.rbs:1611
217
+ insert:
218
+ source: c
219
+ cfunc: rb_str_insert
220
+ arity: 2
221
+ defined_at: references/ruby/string.c:12808
222
+ c_body_at: references/ruby/string.c:5973
223
+ c_effects:
224
+ - mutate
225
+ purity: mutates_self
226
+ rbs:
227
+ - "(int index, string other_str) -> self"
228
+ rbs_at: references/rbs/core/string.rbs:3507
229
+ length:
230
+ source: c
231
+ cfunc: rb_str_length
232
+ arity: 0
233
+ defined_at: references/ruby/string.c:12809
234
+ c_body_at: references/ruby/string.c:2437
235
+ c_effects: []
236
+ purity: leaf
237
+ rbs:
238
+ - "() -> Integer"
239
+ rbs_at: references/rbs/core/string.rbs:3591
240
+ size:
241
+ source: c
242
+ cfunc: rb_str_length
243
+ arity: 0
244
+ defined_at: references/ruby/string.c:12810
245
+ c_body_at: references/ruby/string.c:2437
246
+ c_effects: []
247
+ purity: leaf
248
+ bytesize:
249
+ source: c
250
+ cfunc: rb_str_bytesize
251
+ arity: 0
252
+ defined_at: references/ruby/string.c:12811
253
+ c_body_at: references/ruby/string.c:2451
254
+ c_effects: []
255
+ purity: leaf
256
+ rbs:
257
+ - "() -> Integer"
258
+ rbs_at: references/rbs/core/string.rbs:1872
259
+ empty?:
260
+ source: c
261
+ cfunc: rb_str_empty
262
+ arity: 0
263
+ defined_at: references/ruby/string.c:12812
264
+ c_body_at: references/ruby/string.c:2470
265
+ c_effects: []
266
+ purity: leaf
267
+ rbs:
268
+ - "() -> bool"
269
+ rbs_at: references/rbs/core/string.rbs:3027
270
+ "=~":
271
+ source: c
272
+ cfunc: rb_str_match
273
+ arity: 1
274
+ defined_at: references/ruby/string.c:12813
275
+ c_body_at: references/ruby/string.c:5045
276
+ c_effects:
277
+ - dispatch
278
+ - raises
279
+ purity: dispatch
280
+ rbs:
281
+ - "(Regexp regex) -> Integer?"
282
+ - "[T] (_MatchAgainst[self, T] object) -> T"
283
+ rbs_at: references/rbs/core/string.rbs:1304
284
+ match:
285
+ source: c
286
+ cfunc: rb_str_match_m
287
+ arity: -1
288
+ defined_at: references/ruby/string.c:12814
289
+ c_body_at: references/ruby/string.c:5101
290
+ c_effects:
291
+ - block
292
+ - dispatch
293
+ purity: block_dependent
294
+ rbs:
295
+ - "(Regexp | string pattern, ?int offset) -> MatchData?"
296
+ - "[T] (Regexp | string pattern, ?int offset) { (MatchData matchdata) -> T
297
+ } -> T?"
298
+ rbs_at: references/rbs/core/string.rbs:3749
299
+ match?:
300
+ source: c
301
+ cfunc: rb_str_match_m_p
302
+ arity: -1
303
+ defined_at: references/ruby/string.c:12815
304
+ c_body_at: references/ruby/string.c:5139
305
+ c_effects: []
306
+ purity: leaf
307
+ rbs:
308
+ - "(Regexp | string pattern, ?int offset) -> bool"
309
+ rbs_at: references/rbs/core/string.rbs:3774
310
+ succ:
311
+ source: c
312
+ cfunc: rb_str_succ
313
+ arity: 0
314
+ defined_at: references/ruby/string.c:12816
315
+ c_body_at: references/ruby/string.c:5341
316
+ c_effects: []
317
+ purity: leaf
318
+ rbs:
319
+ - "() -> String"
320
+ rbs_at: references/rbs/core/string.rbs:4844
321
+ succ!:
322
+ source: c
323
+ cfunc: rb_str_succ_bang
324
+ arity: 0
325
+ defined_at: references/ruby/string.c:12817
326
+ c_body_at: references/ruby/string.c:5447
327
+ c_effects:
328
+ - mutate
329
+ purity: mutates_self
330
+ rbs:
331
+ - "() -> self"
332
+ rbs_at: references/rbs/core/string.rbs:4854
333
+ next:
334
+ source: c
335
+ cfunc: rb_str_succ
336
+ arity: 0
337
+ defined_at: references/ruby/string.c:12818
338
+ c_body_at: references/ruby/string.c:5341
339
+ c_effects: []
340
+ purity: leaf
341
+ next!:
342
+ source: c
343
+ cfunc: rb_str_succ_bang
344
+ arity: 0
345
+ defined_at: references/ruby/string.c:12819
346
+ c_body_at: references/ruby/string.c:5447
347
+ c_effects:
348
+ - mutate
349
+ purity: mutates_self
350
+ upto:
351
+ source: c
352
+ cfunc: rb_str_upto
353
+ arity: -1
354
+ defined_at: references/ruby/string.c:12820
355
+ c_body_at: references/ruby/string.c:5481
356
+ c_effects: []
357
+ purity: leaf
358
+ rbs:
359
+ - "(string other_string, ?boolish exclusive) -> Enumerator[String, self]"
360
+ - "(string other_string, ?boolish exclusive) { (String s) -> void } -> self"
361
+ rbs_at: references/rbs/core/string.rbs:5515
362
+ index:
363
+ source: c
364
+ cfunc: rb_str_index_m
365
+ arity: -1
366
+ defined_at: references/ruby/string.c:12821
367
+ c_body_at: references/ruby/string.c:4556
368
+ c_effects: []
369
+ purity: leaf
370
+ rbs:
371
+ - "(Regexp | string pattern, ?int offset) -> Integer?"
372
+ rbs_at: references/rbs/core/string.rbs:3483
373
+ byteindex:
374
+ source: c
375
+ cfunc: rb_str_byteindex_m
376
+ arity: -1
377
+ defined_at: references/ruby/string.c:12822
378
+ c_body_at: references/ruby/string.c:4685
379
+ c_effects: []
380
+ purity: leaf
381
+ rbs:
382
+ - "(Regexp | string pattern, ?int offset) -> Integer?"
383
+ rbs_at: references/rbs/core/string.rbs:1745
384
+ rindex:
385
+ source: c
386
+ cfunc: rb_str_rindex_m
387
+ arity: -1
388
+ defined_at: references/ruby/string.c:12823
389
+ c_body_at: references/ruby/string.c:4814
390
+ c_effects: []
391
+ purity: leaf
392
+ rbs:
393
+ - "(Regexp | string pattern, ?int offset) -> Integer?"
394
+ rbs_at: references/rbs/core/string.rbs:4110
395
+ byterindex:
396
+ source: c
397
+ cfunc: rb_str_byterindex_m
398
+ arity: -1
399
+ defined_at: references/ruby/string.c:12824
400
+ c_body_at: references/ruby/string.c:4975
401
+ c_effects: []
402
+ purity: leaf
403
+ rbs:
404
+ - "(Regexp | string pattern, ?int offset) -> Integer?"
405
+ rbs_at: references/rbs/core/string.rbs:1832
406
+ clear:
407
+ source: c
408
+ cfunc: rb_str_clear
409
+ arity: 0
410
+ defined_at: references/ruby/string.c:12825
411
+ c_body_at: references/ruby/string.c:6572
412
+ c_effects: []
413
+ purity: leaf
414
+ rbs:
415
+ - "() -> self"
416
+ rbs_at: references/rbs/core/string.rbs:2290
417
+ chr:
418
+ source: c
419
+ cfunc: rb_str_chr
420
+ arity: 0
421
+ defined_at: references/ruby/string.c:12826
422
+ c_body_at: references/ruby/string.c:6594
423
+ c_effects: []
424
+ purity: leaf
425
+ rbs:
426
+ - "() -> String"
427
+ rbs_at: references/rbs/core/string.rbs:2276
428
+ getbyte:
429
+ source: c
430
+ cfunc: rb_str_getbyte
431
+ arity: 1
432
+ defined_at: references/ruby/string.c:12827
433
+ c_body_at: references/ruby/string.c:6607
434
+ c_effects: []
435
+ purity: leaf
436
+ rbs:
437
+ - "(int index) -> Integer?"
438
+ rbs_at: references/rbs/core/string.rbs:3248
439
+ setbyte:
440
+ source: c
441
+ cfunc: rb_str_setbyte
442
+ arity: 2
443
+ defined_at: references/ruby/string.c:12828
444
+ c_body_at: references/ruby/string.c:6633
445
+ c_effects:
446
+ - dispatch
447
+ - raises
448
+ purity: dispatch
449
+ rbs:
450
+ - "[T < _ToInt] (int index, T byte) -> T"
451
+ rbs_at: references/rbs/core/string.rbs:4349
452
+ byteslice:
453
+ source: c
454
+ cfunc: rb_str_byteslice
455
+ arity: -1
456
+ defined_at: references/ruby/string.c:12829
457
+ c_body_at: references/ruby/string.c:6768
458
+ c_effects: []
459
+ purity: leaf
460
+ rbs:
461
+ - "(int start, ?int length) -> String?"
462
+ - "(range[int?] range) -> String?"
463
+ rbs_at: references/rbs/core/string.rbs:1933
464
+ bytesplice:
465
+ source: c
466
+ cfunc: rb_str_bytesplice
467
+ arity: -1
468
+ defined_at: references/ruby/string.c:12830
469
+ c_body_at: references/ruby/string.c:6813
470
+ c_effects:
471
+ - raises
472
+ purity: leaf
473
+ rbs:
474
+ - "(Integer start, int length, string str) -> String"
475
+ - "(int start, int length, string str, int str_start, int str_length) -> String"
476
+ - "(range[int?] range, string str, ?range[int?] str_range) -> String"
477
+ rbs_at: references/rbs/core/string.rbs:2006
478
+ scrub:
479
+ source: c
480
+ cfunc: str_scrub
481
+ arity: -1
482
+ defined_at: references/ruby/string.c:12831
483
+ c_body_at: references/ruby/string.c:11992
484
+ c_effects: []
485
+ purity: leaf
486
+ rbs:
487
+ - "(?string? replacement) -> String"
488
+ - "(?nil) { (String bytes) -> string } -> String"
489
+ rbs_at: references/rbs/core/string.rbs:4318
490
+ scrub!:
491
+ source: c
492
+ cfunc: str_scrub_bang
493
+ arity: -1
494
+ defined_at: references/ruby/string.c:12832
495
+ c_body_at: references/ruby/string.c:12013
496
+ c_effects:
497
+ - mutate
498
+ purity: mutates_self
499
+ rbs:
500
+ - "(?string? replacement) -> self"
501
+ - "(?nil) { (String bytes) -> string } -> self"
502
+ rbs_at: references/rbs/core/string.rbs:4333
503
+ freeze:
504
+ source: c
505
+ cfunc: rb_str_freeze
506
+ arity: 0
507
+ defined_at: references/ruby/string.c:12833
508
+ c_body_at: references/ruby/string.c:3280
509
+ c_effects:
510
+ - mutate
511
+ purity: mutates_self
512
+ rbs:
513
+ - "() -> self"
514
+ rbs_at: references/rbs/core/string.rbs:3214
515
+ "+@":
516
+ source: c
517
+ cfunc: str_uplus
518
+ arity: 0
519
+ defined_at: references/ruby/string.c:12834
520
+ c_body_at: references/ruby/string.c:3303
521
+ c_effects: []
522
+ purity: leaf
523
+ rbs:
524
+ - "() -> self"
525
+ rbs_at: references/rbs/core/string.rbs:1114
526
+ "-@":
527
+ source: c
528
+ cfunc: str_uminus
529
+ arity: 0
530
+ defined_at: references/ruby/string.c:12835
531
+ c_body_at: references/ruby/string.c:3348
532
+ c_effects: []
533
+ purity: leaf
534
+ rbs:
535
+ - "() -> self"
536
+ rbs_at: references/rbs/core/string.rbs:1150
537
+ dup:
538
+ source: c
539
+ cfunc: rb_str_dup_m
540
+ arity: 0
541
+ defined_at: references/ruby/string.c:12836
542
+ c_body_at: references/ruby/string.c:2003
543
+ c_effects: []
544
+ purity: leaf
545
+ to_i:
546
+ source: c
547
+ cfunc: rb_str_to_i
548
+ arity: -1
549
+ defined_at: references/ruby/string.c:12839
550
+ c_body_at: references/ruby/string.c:7044
551
+ c_effects:
552
+ - raises
553
+ purity: leaf
554
+ rbs:
555
+ - "(?int radix) -> Integer"
556
+ rbs_at: references/rbs/core/string.rbs:5145
557
+ to_f:
558
+ source: c
559
+ cfunc: rb_str_to_f
560
+ arity: 0
561
+ defined_at: references/ruby/string.c:12840
562
+ c_body_at: references/ruby/string.c:7076
563
+ c_effects: []
564
+ purity: leaf
565
+ rbs:
566
+ - "() -> Float"
567
+ rbs_at: references/rbs/core/string.rbs:5109
568
+ to_s:
569
+ source: c
570
+ cfunc: rb_str_to_s
571
+ arity: 0
572
+ defined_at: references/ruby/string.c:12841
573
+ c_body_at: references/ruby/string.c:7093
574
+ c_effects: []
575
+ purity: leaf
576
+ rbs:
577
+ - "() -> String"
578
+ rbs_at: references/rbs/core/string.rbs:5190
579
+ to_str:
580
+ source: c
581
+ cfunc: rb_str_to_s
582
+ arity: 0
583
+ defined_at: references/ruby/string.c:12842
584
+ c_body_at: references/ruby/string.c:7093
585
+ c_effects: []
586
+ purity: leaf
587
+ inspect:
588
+ source: c
589
+ cfunc: rb_str_inspect
590
+ arity: 0
591
+ defined_at: references/ruby/string.c:12843
592
+ purity: unknown
593
+ c_body_at: not_found
594
+ rbs:
595
+ - "() -> String"
596
+ rbs_at: references/rbs/core/string.rbs:3555
597
+ dump:
598
+ source: c
599
+ cfunc: rb_str_dump
600
+ arity: 0
601
+ defined_at: references/ruby/string.c:12844
602
+ c_body_at: references/ruby/string.c:7334
603
+ c_effects:
604
+ - raises
605
+ purity: leaf
606
+ rbs:
607
+ - "() -> String"
608
+ rbs_at: references/rbs/core/string.rbs:2817
609
+ undump:
610
+ source: c
611
+ cfunc: str_undump
612
+ arity: 0
613
+ defined_at: references/ruby/string.c:12845
614
+ c_body_at: references/ruby/string.c:7625
615
+ c_effects:
616
+ - raises
617
+ purity: leaf
618
+ rbs:
619
+ - "() -> String"
620
+ rbs_at: references/rbs/core/string.rbs:5310
621
+ upcase:
622
+ source: c
623
+ cfunc: rb_str_upcase
624
+ arity: -1
625
+ defined_at: references/ruby/string.c:12852
626
+ c_body_at: references/ruby/string.c:7987
627
+ c_effects: []
628
+ purity: leaf
629
+ rbs:
630
+ - "() -> String"
631
+ - "(:ascii | :lithuanian | :turkic) -> String"
632
+ - "(:lithuanian, :turkic) -> String"
633
+ - "(:turkic, :lithuanian) -> String"
634
+ rbs_at: references/rbs/core/string.rbs:5450
635
+ downcase:
636
+ source: c
637
+ cfunc: rb_str_downcase
638
+ arity: -1
639
+ defined_at: references/ruby/string.c:12853
640
+ c_body_at: references/ruby/string.c:8074
641
+ c_effects: []
642
+ purity: leaf
643
+ rbs:
644
+ - "() -> String"
645
+ - "(:ascii | :fold | :lithuanian | :turkic) -> String"
646
+ - "(:lithuanian, :turkic) -> String"
647
+ - "(:turkic, :lithuanian) -> String"
648
+ rbs_at: references/rbs/core/string.rbs:2692
649
+ capitalize:
650
+ source: c
651
+ cfunc: rb_str_capitalize
652
+ arity: -1
653
+ defined_at: references/ruby/string.c:12854
654
+ c_body_at: references/ruby/string.c:8140
655
+ c_effects: []
656
+ purity: leaf
657
+ rbs:
658
+ - "() -> String"
659
+ - "(:ascii | :lithuanian | :turkic) -> String"
660
+ - "(:lithuanian, :turkic) -> String"
661
+ - "(:turkic, :lithuanian) -> String"
662
+ rbs_at: references/rbs/core/string.rbs:2044
663
+ swapcase:
664
+ source: c
665
+ cfunc: rb_str_swapcase
666
+ arity: -1
667
+ defined_at: references/ruby/string.c:12855
668
+ c_body_at: references/ruby/string.c:8200
669
+ c_effects: []
670
+ purity: leaf
671
+ rbs:
672
+ - "() -> String"
673
+ - "(:ascii | :lithuanian | :turkic) -> String"
674
+ - "(:lithuanian, :turkic) -> String"
675
+ - "(:turkic, :lithuanian) -> String"
676
+ rbs_at: references/rbs/core/string.rbs:4914
677
+ upcase!:
678
+ source: c
679
+ cfunc: rb_str_upcase_bang
680
+ arity: -1
681
+ defined_at: references/ruby/string.c:12857
682
+ c_body_at: references/ruby/string.c:7957
683
+ c_effects: []
684
+ purity: leaf
685
+ rbs:
686
+ - "() -> self?"
687
+ - "(:ascii | :lithuanian | :turkic) -> self?"
688
+ - "(:lithuanian, :turkic) -> self?"
689
+ - "(:turkic, :lithuanian) -> self?"
690
+ rbs_at: references/rbs/core/string.rbs:5466
691
+ downcase!:
692
+ source: c
693
+ cfunc: rb_str_downcase_bang
694
+ arity: -1
695
+ defined_at: references/ruby/string.c:12858
696
+ c_body_at: references/ruby/string.c:8043
697
+ c_effects: []
698
+ purity: leaf
699
+ rbs:
700
+ - "() -> self?"
701
+ - "(:ascii | :fold | :lithuanian | :turkic) -> self?"
702
+ - "(:lithuanian, :turkic) -> self?"
703
+ - "(:turkic, :lithuanian) -> self?"
704
+ rbs_at: references/rbs/core/string.rbs:2708
705
+ capitalize!:
706
+ source: c
707
+ cfunc: rb_str_capitalize_bang
708
+ arity: -1
709
+ defined_at: references/ruby/string.c:12859
710
+ c_body_at: references/ruby/string.c:8112
711
+ c_effects: []
712
+ purity: leaf
713
+ rbs:
714
+ - "() -> self?"
715
+ - "(:ascii | :lithuanian | :turkic) -> self?"
716
+ - "(:lithuanian, :turkic) -> self?"
717
+ - "(:turkic, :lithuanian) -> self?"
718
+ rbs_at: references/rbs/core/string.rbs:2060
719
+ swapcase!:
720
+ source: c
721
+ cfunc: rb_str_swapcase_bang
722
+ arity: -1
723
+ defined_at: references/ruby/string.c:12860
724
+ c_body_at: references/ruby/string.c:8173
725
+ c_effects: []
726
+ purity: leaf
727
+ rbs:
728
+ - "() -> self?"
729
+ - "(:ascii | :lithuanian | :turkic) -> self?"
730
+ - "(:lithuanian, :turkic) -> self?"
731
+ - "(:turkic, :lithuanian) -> self?"
732
+ rbs_at: references/rbs/core/string.rbs:4930
733
+ hex:
734
+ source: c
735
+ cfunc: rb_str_hex
736
+ arity: 0
737
+ defined_at: references/ruby/string.c:12862
738
+ c_body_at: references/ruby/string.c:10746
739
+ c_effects: []
740
+ purity: leaf
741
+ rbs:
742
+ - "() -> Integer"
743
+ rbs_at: references/rbs/core/string.rbs:3416
744
+ oct:
745
+ source: c
746
+ cfunc: rb_str_oct
747
+ arity: 0
748
+ defined_at: references/ruby/string.c:12863
749
+ c_body_at: references/ruby/string.c:10832
750
+ c_effects: []
751
+ purity: leaf
752
+ rbs:
753
+ - "() -> Integer"
754
+ rbs_at: references/rbs/core/string.rbs:3922
755
+ split:
756
+ source: c
757
+ cfunc: rb_str_split_m
758
+ arity: -1
759
+ defined_at: references/ruby/string.c:12864
760
+ c_body_at: references/ruby/string.c:9116
761
+ c_effects:
762
+ - block
763
+ - raises
764
+ purity: block_dependent
765
+ rbs:
766
+ - "(?Regexp | string | nil pattern, ?int limit) -> Array[String]"
767
+ - "(?Regexp | string | nil pattern, ?int limit) { (String substring) -> void
768
+ } -> self"
769
+ rbs_at: references/rbs/core/string.rbs:4603
770
+ lines:
771
+ source: c
772
+ cfunc: rb_str_lines
773
+ arity: -1
774
+ defined_at: references/ruby/string.c:12865
775
+ c_body_at: references/ruby/string.c:9603
776
+ c_effects: []
777
+ purity: leaf
778
+ rbs:
779
+ - "(?string? separator, ?chomp: boolish) -> Array[String]"
780
+ - "(?string? separator, ?chomp: boolish) { (String line) -> void } -> self"
781
+ rbs_at: references/rbs/core/string.rbs:3643
782
+ bytes:
783
+ source: c
784
+ cfunc: rb_str_bytes
785
+ arity: 0
786
+ defined_at: references/ruby/string.c:12866
787
+ c_body_at: references/ruby/string.c:9654
788
+ c_effects: []
789
+ purity: leaf
790
+ rbs:
791
+ - "() -> Array[Integer]"
792
+ - "() { (Integer byte) -> void } -> self"
793
+ rbs_at: references/rbs/core/string.rbs:1848
794
+ chars:
795
+ source: c
796
+ cfunc: rb_str_chars
797
+ arity: 0
798
+ defined_at: references/ruby/string.c:12867
799
+ c_body_at: references/ruby/string.c:9723
800
+ c_effects: []
801
+ purity: leaf
802
+ rbs:
803
+ - "() -> Array[String]"
804
+ - "() { (String char) -> void } -> self"
805
+ rbs_at: references/rbs/core/string.rbs:2162
806
+ codepoints:
807
+ source: c
808
+ cfunc: rb_str_codepoints
809
+ arity: 0
810
+ defined_at: references/ruby/string.c:12868
811
+ c_body_at: references/ruby/string.c:9783
812
+ c_effects: []
813
+ purity: leaf
814
+ rbs:
815
+ - "() -> Array[Integer]"
816
+ - "() { (Integer codepoint) -> void } -> self"
817
+ rbs_at: references/rbs/core/string.rbs:2307
818
+ grapheme_clusters:
819
+ source: c
820
+ cfunc: rb_str_grapheme_clusters
821
+ arity: 0
822
+ defined_at: references/ruby/string.c:12869
823
+ c_body_at: references/ruby/string.c:9953
824
+ c_effects: []
825
+ purity: leaf
826
+ rbs:
827
+ - "() -> Array[String]"
828
+ - "() { (String grapheme_cluter) -> void } -> self"
829
+ rbs_at: references/rbs/core/string.rbs:3277
830
+ reverse:
831
+ source: c
832
+ cfunc: rb_str_reverse
833
+ arity: 0
834
+ defined_at: references/ruby/string.c:12870
835
+ c_body_at: references/ruby/string.c:6889
836
+ c_effects: []
837
+ purity: leaf
838
+ rbs:
839
+ - "() -> String"
840
+ rbs_at: references/rbs/core/string.rbs:4035
841
+ reverse!:
842
+ source: c
843
+ cfunc: rb_str_reverse_bang
844
+ arity: 0
845
+ defined_at: references/ruby/string.c:12871
846
+ c_body_at: references/ruby/string.c:6954
847
+ c_effects: []
848
+ purity: leaf
849
+ rbs:
850
+ - "() -> self"
851
+ rbs_at: references/rbs/core/string.rbs:4050
852
+ concat:
853
+ source: c
854
+ cfunc: rb_str_concat_multi
855
+ arity: -1
856
+ defined_at: references/ruby/string.c:12872
857
+ c_body_at: references/ruby/string.c:3839
858
+ c_effects:
859
+ - mutate
860
+ purity: mutates_self
861
+ rbs:
862
+ - "(*string | Integer string_or_codepoints) -> self"
863
+ rbs_at: references/rbs/core/string.rbs:2328
864
+ append_as_bytes:
865
+ source: c
866
+ cfunc: rb_str_append_as_bytes
867
+ arity: -1
868
+ defined_at: references/ruby/string.c:12873
869
+ c_body_at: references/ruby/string.c:3885
870
+ c_effects:
871
+ - raises
872
+ purity: leaf
873
+ rbs:
874
+ - "(*String | Integer) -> String"
875
+ rbs_at: references/rbs/core/string.rbs:1641
876
+ !!str '<<':
877
+ source: c
878
+ cfunc: rb_str_concat
879
+ arity: 1
880
+ defined_at: references/ruby/string.c:12874
881
+ c_body_at: references/ruby/string.c:4036
882
+ c_effects:
883
+ - mutate
884
+ - raises
885
+ purity: mutates_self
886
+ rbs:
887
+ - "(string | Integer str_or_codepoint) -> self"
888
+ rbs_at: references/rbs/core/string.rbs:1190
889
+ prepend:
890
+ source: c
891
+ cfunc: rb_str_prepend_multi
892
+ arity: -1
893
+ defined_at: references/ruby/string.c:12875
894
+ c_body_at: references/ruby/string.c:4127
895
+ c_effects:
896
+ - mutate
897
+ purity: mutates_self
898
+ rbs:
899
+ - "(*string other_strings) -> self"
900
+ rbs_at: references/rbs/core/string.rbs:4005
901
+ crypt:
902
+ source: c
903
+ cfunc: rb_str_crypt
904
+ arity: 1
905
+ defined_at: references/ruby/string.c:12876
906
+ c_body_at: references/ruby/string.c:10907
907
+ c_effects:
908
+ - raises
909
+ purity: leaf
910
+ rbs:
911
+ - "(string salt_str) -> String"
912
+ rbs_at: references/rbs/core/string.rbs:2472
913
+ intern:
914
+ source: c
915
+ cfunc: rb_str_intern
916
+ arity: 0
917
+ defined_at: references/ruby/string.c:12877
918
+ purity: unknown
919
+ c_body_at: not_found
920
+ rbs:
921
+ - "() -> Symbol"
922
+ rbs_at: references/rbs/core/string.rbs:3571
923
+ to_sym:
924
+ source: c
925
+ cfunc: rb_str_intern
926
+ arity: 0
927
+ defined_at: references/ruby/string.c:12878
928
+ purity: unknown
929
+ c_body_at: not_found
930
+ ord:
931
+ source: c
932
+ cfunc: rb_str_ord
933
+ arity: 0
934
+ defined_at: references/ruby/string.c:12879
935
+ c_body_at: references/ruby/string.c:10985
936
+ c_effects: []
937
+ purity: leaf
938
+ rbs:
939
+ - "() -> Integer"
940
+ rbs_at: references/rbs/core/string.rbs:3938
941
+ include?:
942
+ source: c
943
+ cfunc: rb_str_include
944
+ arity: 1
945
+ defined_at: references/ruby/string.c:12881
946
+ c_body_at: references/ruby/string.c:6998
947
+ c_effects: []
948
+ purity: leaf
949
+ rbs:
950
+ - "(string other_string) -> bool"
951
+ rbs_at: references/rbs/core/string.rbs:3434
952
+ start_with?:
953
+ source: c
954
+ cfunc: rb_str_start_with
955
+ arity: -1
956
+ defined_at: references/ruby/string.c:12882
957
+ c_body_at: references/ruby/string.c:11275
958
+ c_effects: []
959
+ purity: leaf
960
+ rbs:
961
+ - "(*Regexp | string prefixes) -> bool"
962
+ rbs_at: references/rbs/core/string.rbs:4682
963
+ end_with?:
964
+ source: c
965
+ cfunc: rb_str_end_with
966
+ arity: -1
967
+ defined_at: references/ruby/string.c:12883
968
+ c_body_at: references/ruby/string.c:11315
969
+ c_effects: []
970
+ purity: leaf
971
+ rbs:
972
+ - "(*string suffixes) -> bool"
973
+ rbs_at: references/rbs/core/string.rbs:3155
974
+ scan:
975
+ source: c
976
+ cfunc: rb_str_scan
977
+ arity: 1
978
+ defined_at: references/ruby/string.c:12885
979
+ c_body_at: references/ruby/string.c:10666
980
+ c_effects:
981
+ - block
982
+ - mutate
983
+ purity: block_dependent
984
+ rbs:
985
+ - "(Regexp pattern) -> Array[String | Array[String?]]"
986
+ - "(Regexp pattern) { (String | Array[String?] matches) -> void } -> self"
987
+ - "(string pattern) -> Array[String]"
988
+ - "(string pattern) { (String match) -> void } -> self"
989
+ rbs_at: references/rbs/core/string.rbs:4284
990
+ ljust:
991
+ source: c
992
+ cfunc: rb_str_ljust
993
+ arity: -1
994
+ defined_at: references/ruby/string.c:12887
995
+ c_body_at: references/ruby/string.c:11155
996
+ c_effects: []
997
+ purity: leaf
998
+ rbs:
999
+ - "(int size, ?string pad_string) -> String"
1000
+ rbs_at: references/rbs/core/string.rbs:3667
1001
+ rjust:
1002
+ source: c
1003
+ cfunc: rb_str_rjust
1004
+ arity: -1
1005
+ defined_at: references/ruby/string.c:12888
1006
+ c_body_at: references/ruby/string.c:11169
1007
+ c_effects: []
1008
+ purity: leaf
1009
+ rbs:
1010
+ - "(int size, ?string pad_string) -> String"
1011
+ rbs_at: references/rbs/core/string.rbs:4136
1012
+ center:
1013
+ source: c
1014
+ cfunc: rb_str_center
1015
+ arity: -1
1016
+ defined_at: references/ruby/string.c:12889
1017
+ c_body_at: references/ruby/string.c:11184
1018
+ c_effects: []
1019
+ purity: leaf
1020
+ rbs:
1021
+ - "(int width, ?string pad_string) -> String"
1022
+ rbs_at: references/rbs/core/string.rbs:2146
1023
+ sub:
1024
+ source: c
1025
+ cfunc: rb_str_sub
1026
+ arity: -1
1027
+ defined_at: references/ruby/string.c:12891
1028
+ c_body_at: references/ruby/string.c:6311
1029
+ c_effects: []
1030
+ purity: leaf
1031
+ rbs:
1032
+ - "(Regexp | string pattern, string | hash[String, _ToS] replacement) -> String"
1033
+ - "(Regexp | string pattern) { (String match) -> _ToS } -> String"
1034
+ rbs_at: references/rbs/core/string.rbs:4768
1035
+ gsub:
1036
+ source: c
1037
+ cfunc: rb_str_gsub
1038
+ arity: -1
1039
+ defined_at: references/ruby/string.c:12892
1040
+ c_body_at: references/ruby/string.c:6528
1041
+ c_effects: []
1042
+ purity: leaf
1043
+ rbs:
1044
+ - "(Regexp | string pattern, string | hash[String, _ToS] replacement) -> String"
1045
+ - "(Regexp | string pattern) -> Enumerator[String, String]"
1046
+ - "(Regexp | string pattern) { (String match) -> _ToS } -> String"
1047
+ rbs_at: references/rbs/core/string.rbs:3320
1048
+ chop:
1049
+ source: c
1050
+ cfunc: rb_str_chop
1051
+ arity: 0
1052
+ defined_at: references/ruby/string.c:12893
1053
+ c_body_at: references/ruby/string.c:10016
1054
+ c_effects: []
1055
+ purity: leaf
1056
+ rbs:
1057
+ - "() -> String"
1058
+ rbs_at: references/rbs/core/string.rbs:2247
1059
+ chomp:
1060
+ source: c
1061
+ cfunc: rb_str_chomp
1062
+ arity: -1
1063
+ defined_at: references/ruby/string.c:12894
1064
+ c_body_at: references/ruby/string.c:10192
1065
+ c_effects: []
1066
+ purity: leaf
1067
+ rbs:
1068
+ - "(?string? separator) -> String"
1069
+ rbs_at: references/rbs/core/string.rbs:2204
1070
+ strip:
1071
+ source: c
1072
+ cfunc: rb_str_strip
1073
+ arity: -1
1074
+ defined_at: references/ruby/string.c:12895
1075
+ c_body_at: references/ruby/string.c:10574
1076
+ c_effects: []
1077
+ purity: leaf
1078
+ rbs:
1079
+ - "(*selector) -> String"
1080
+ rbs_at: references/rbs/core/string.rbs:4713
1081
+ lstrip:
1082
+ source: c
1083
+ cfunc: rb_str_lstrip
1084
+ arity: -1
1085
+ defined_at: references/ruby/string.c:12896
1086
+ c_body_at: references/ruby/string.c:10330
1087
+ c_effects: []
1088
+ purity: leaf
1089
+ rbs:
1090
+ - "(*selector) -> String"
1091
+ rbs_at: references/rbs/core/string.rbs:3698
1092
+ rstrip:
1093
+ source: c
1094
+ cfunc: rb_str_rstrip
1095
+ arity: -1
1096
+ defined_at: references/ruby/string.c:12897
1097
+ c_body_at: references/ruby/string.c:10473
1098
+ c_effects: []
1099
+ purity: leaf
1100
+ rbs:
1101
+ - "(*selector) -> String"
1102
+ rbs_at: references/rbs/core/string.rbs:4225
1103
+ delete_prefix:
1104
+ source: c
1105
+ cfunc: rb_str_delete_prefix
1106
+ arity: 1
1107
+ defined_at: references/ruby/string.c:12898
1108
+ c_body_at: references/ruby/string.c:11420
1109
+ c_effects: []
1110
+ purity: leaf
1111
+ rbs:
1112
+ - "(string prefix) -> String"
1113
+ rbs_at: references/rbs/core/string.rbs:2623
1114
+ delete_suffix:
1115
+ source: c
1116
+ cfunc: rb_str_delete_suffix
1117
+ arity: 1
1118
+ defined_at: references/ruby/string.c:12899
1119
+ c_body_at: references/ruby/string.c:11504
1120
+ c_effects: []
1121
+ purity: leaf
1122
+ rbs:
1123
+ - "(string suffix) -> String"
1124
+ rbs_at: references/rbs/core/string.rbs:2653
1125
+ sub!:
1126
+ source: c
1127
+ cfunc: rb_str_sub_bang
1128
+ arity: -1
1129
+ defined_at: references/ruby/string.c:12901
1130
+ c_body_at: references/ruby/string.c:6192
1131
+ c_effects:
1132
+ - block
1133
+ - mutate
1134
+ - raises
1135
+ purity: block_dependent
1136
+ rbs:
1137
+ - "(Regexp | string pattern, string | hash[String, _ToS] replacement) -> self?"
1138
+ - "(Regexp | string pattern) { (String match) -> _ToS } -> self?"
1139
+ rbs_at: references/rbs/core/string.rbs:4783
1140
+ gsub!:
1141
+ source: c
1142
+ cfunc: rb_str_gsub_bang
1143
+ arity: -1
1144
+ defined_at: references/ruby/string.c:12902
1145
+ c_body_at: references/ruby/string.c:6477
1146
+ c_effects: []
1147
+ purity: leaf
1148
+ rbs:
1149
+ - "(Regexp | string pattern, string | hash[String, _ToS] replacement) -> self?"
1150
+ - "(Regexp | string pattern) -> Enumerator[String, self?]"
1151
+ - "(Regexp | string pattern) { (String match) -> _ToS } -> self?"
1152
+ rbs_at: references/rbs/core/string.rbs:3337
1153
+ chop!:
1154
+ source: c
1155
+ cfunc: rb_str_chop_bang
1156
+ arity: 0
1157
+ defined_at: references/ruby/string.c:12903
1158
+ c_body_at: references/ruby/string.c:9990
1159
+ c_effects: []
1160
+ purity: leaf
1161
+ rbs:
1162
+ - "() -> self?"
1163
+ rbs_at: references/rbs/core/string.rbs:2260
1164
+ chomp!:
1165
+ source: c
1166
+ cfunc: rb_str_chomp_bang
1167
+ arity: -1
1168
+ defined_at: references/ruby/string.c:12904
1169
+ c_body_at: references/ruby/string.c:10172
1170
+ c_effects: []
1171
+ purity: leaf
1172
+ rbs:
1173
+ - "(nil) -> nil"
1174
+ - "(?string? separator) -> self?"
1175
+ rbs_at: references/rbs/core/string.rbs:2217
1176
+ strip!:
1177
+ source: c
1178
+ cfunc: rb_str_strip_bang
1179
+ arity: -1
1180
+ defined_at: references/ruby/string.c:12905
1181
+ c_body_at: references/ruby/string.c:10509
1182
+ c_effects: []
1183
+ purity: leaf
1184
+ rbs:
1185
+ - "(*selector) -> self?"
1186
+ rbs_at: references/rbs/core/string.rbs:4726
1187
+ lstrip!:
1188
+ source: c
1189
+ cfunc: rb_str_lstrip_bang
1190
+ arity: -1
1191
+ defined_at: references/ruby/string.c:12906
1192
+ c_body_at: references/ruby/string.c:10270
1193
+ c_effects: []
1194
+ purity: leaf
1195
+ rbs:
1196
+ - "(*selector) -> self?"
1197
+ rbs_at: references/rbs/core/string.rbs:3711
1198
+ rstrip!:
1199
+ source: c
1200
+ cfunc: rb_str_rstrip_bang
1201
+ arity: -1
1202
+ defined_at: references/ruby/string.c:12907
1203
+ c_body_at: references/ruby/string.c:10416
1204
+ c_effects: []
1205
+ purity: leaf
1206
+ rbs:
1207
+ - "(*selector) -> self?"
1208
+ rbs_at: references/rbs/core/string.rbs:4238
1209
+ delete_prefix!:
1210
+ source: c
1211
+ cfunc: rb_str_delete_prefix_bang
1212
+ arity: 1
1213
+ defined_at: references/ruby/string.c:12908
1214
+ c_body_at: references/ruby/string.c:11400
1215
+ c_effects: []
1216
+ purity: leaf
1217
+ rbs:
1218
+ - "(string prefix) -> self?"
1219
+ rbs_at: references/rbs/core/string.rbs:2634
1220
+ delete_suffix!:
1221
+ source: c
1222
+ cfunc: rb_str_delete_suffix_bang
1223
+ arity: 1
1224
+ defined_at: references/ruby/string.c:12909
1225
+ c_body_at: references/ruby/string.c:11476
1226
+ c_effects: []
1227
+ purity: leaf
1228
+ rbs:
1229
+ - "(string suffix) -> self?"
1230
+ rbs_at: references/rbs/core/string.rbs:2664
1231
+ tr:
1232
+ source: c
1233
+ cfunc: rb_str_tr
1234
+ arity: 2
1235
+ defined_at: references/ruby/string.c:12911
1236
+ c_body_at: references/ruby/string.c:8604
1237
+ c_effects: []
1238
+ purity: leaf
1239
+ rbs:
1240
+ - "(selector source, string replacement) -> String"
1241
+ rbs_at: references/rbs/core/string.rbs:5251
1242
+ tr_s:
1243
+ source: c
1244
+ cfunc: rb_str_tr_s
1245
+ arity: 2
1246
+ defined_at: references/ruby/string.c:12912
1247
+ c_body_at: references/ruby/string.c:8933
1248
+ c_effects: []
1249
+ purity: leaf
1250
+ rbs:
1251
+ - "(selector source, string replacement) -> String"
1252
+ rbs_at: references/rbs/core/string.rbs:5285
1253
+ delete:
1254
+ source: c
1255
+ cfunc: rb_str_delete
1256
+ arity: -1
1257
+ defined_at: references/ruby/string.c:12913
1258
+ c_body_at: references/ruby/string.c:8780
1259
+ c_effects: []
1260
+ purity: leaf
1261
+ rbs:
1262
+ - "(selector selector_0, *selector more_selectors) -> String"
1263
+ rbs_at: references/rbs/core/string.rbs:2594
1264
+ squeeze:
1265
+ source: c
1266
+ cfunc: rb_str_squeeze
1267
+ arity: -1
1268
+ defined_at: references/ruby/string.c:12914
1269
+ c_body_at: references/ruby/string.c:8885
1270
+ c_effects: []
1271
+ purity: leaf
1272
+ rbs:
1273
+ - "(*selector selectors) -> String"
1274
+ rbs_at: references/rbs/core/string.rbs:4645
1275
+ count:
1276
+ source: c
1277
+ cfunc: rb_str_count
1278
+ arity: -1
1279
+ defined_at: references/ruby/string.c:12915
1280
+ c_body_at: references/ruby/string.c:8949
1281
+ c_effects: []
1282
+ purity: leaf
1283
+ rbs:
1284
+ - "(selector selector_0, *selector more_selectors) -> Integer"
1285
+ rbs_at: references/rbs/core/string.rbs:2416
1286
+ tr!:
1287
+ source: c
1288
+ cfunc: rb_str_tr_bang
1289
+ arity: 2
1290
+ defined_at: references/ruby/string.c:12917
1291
+ c_body_at: references/ruby/string.c:8560
1292
+ c_effects: []
1293
+ purity: leaf
1294
+ rbs:
1295
+ - "(selector source, string replacement) -> self?"
1296
+ rbs_at: references/rbs/core/string.rbs:5264
1297
+ tr_s!:
1298
+ source: c
1299
+ cfunc: rb_str_tr_s_bang
1300
+ arity: 2
1301
+ defined_at: references/ruby/string.c:12918
1302
+ c_body_at: references/ruby/string.c:8906
1303
+ c_effects: []
1304
+ purity: leaf
1305
+ rbs:
1306
+ - "(selector source, string replacement) -> self?"
1307
+ rbs_at: references/rbs/core/string.rbs:5298
1308
+ delete!:
1309
+ source: c
1310
+ cfunc: rb_str_delete_bang
1311
+ arity: -1
1312
+ defined_at: references/ruby/string.c:12919
1313
+ c_body_at: references/ruby/string.c:8710
1314
+ c_effects: []
1315
+ purity: leaf
1316
+ rbs:
1317
+ - "(selector selector_0, *selector more_selectors) -> self?"
1318
+ rbs_at: references/rbs/core/string.rbs:2605
1319
+ squeeze!:
1320
+ source: c
1321
+ cfunc: rb_str_squeeze_bang
1322
+ arity: -1
1323
+ defined_at: references/ruby/string.c:12920
1324
+ c_body_at: references/ruby/string.c:8801
1325
+ c_effects: []
1326
+ purity: leaf
1327
+ rbs:
1328
+ - "(*selector selectors) -> self?"
1329
+ rbs_at: references/rbs/core/string.rbs:4658
1330
+ each_line:
1331
+ source: c
1332
+ cfunc: rb_str_each_line
1333
+ arity: -1
1334
+ defined_at: references/ruby/string.c:12922
1335
+ c_body_at: references/ruby/string.c:9545
1336
+ c_effects: []
1337
+ purity: leaf
1338
+ rbs:
1339
+ - "(?string? separator, ?chomp: boolish) -> Enumerator[String, self]"
1340
+ - "(?string? separator, ?chomp: boolish) { (String line) -> void } -> self"
1341
+ rbs_at: references/rbs/core/string.rbs:3012
1342
+ each_byte:
1343
+ source: c
1344
+ cfunc: rb_str_each_byte
1345
+ arity: 0
1346
+ defined_at: references/ruby/string.c:12923
1347
+ c_body_at: references/ruby/string.c:9639
1348
+ c_effects: []
1349
+ purity: leaf
1350
+ rbs:
1351
+ - "() -> Enumerator[Integer, self]"
1352
+ - "() { (Integer byte) -> void } -> self"
1353
+ rbs_at: references/rbs/core/string.rbs:2841
1354
+ each_char:
1355
+ source: c
1356
+ cfunc: rb_str_each_char
1357
+ arity: 0
1358
+ defined_at: references/ruby/string.c:12924
1359
+ c_body_at: references/ruby/string.c:9708
1360
+ c_effects: []
1361
+ purity: leaf
1362
+ rbs:
1363
+ - "() -> Enumerator[String, self]"
1364
+ - "() { (String char) -> void } -> self"
1365
+ rbs_at: references/rbs/core/string.rbs:2872
1366
+ each_codepoint:
1367
+ source: c
1368
+ cfunc: rb_str_each_codepoint
1369
+ arity: 0
1370
+ defined_at: references/ruby/string.c:12925
1371
+ c_body_at: references/ruby/string.c:9768
1372
+ c_effects: []
1373
+ purity: leaf
1374
+ rbs:
1375
+ - "() -> Enumerator[Integer, self]"
1376
+ - "() { (Integer codepoint) -> void } -> self"
1377
+ rbs_at: references/rbs/core/string.rbs:2904
1378
+ each_grapheme_cluster:
1379
+ source: c
1380
+ cfunc: rb_str_each_grapheme_cluster
1381
+ arity: 0
1382
+ defined_at: references/ruby/string.c:12926
1383
+ c_body_at: references/ruby/string.c:9938
1384
+ c_effects: []
1385
+ purity: leaf
1386
+ rbs:
1387
+ - "() -> Enumerator[String, self]"
1388
+ - "() { (String grapheme_cluter) -> void } -> self"
1389
+ rbs_at: references/rbs/core/string.rbs:2939
1390
+ sum:
1391
+ source: c
1392
+ cfunc: rb_str_sum
1393
+ arity: -1
1394
+ defined_at: references/ruby/string.c:12928
1395
+ c_body_at: references/ruby/string.c:11001
1396
+ c_effects:
1397
+ - dispatch
1398
+ purity: dispatch
1399
+ rbs:
1400
+ - "(?int bits) -> Integer"
1401
+ rbs_at: references/rbs/core/string.rbs:4874
1402
+ slice:
1403
+ source: c
1404
+ cfunc: rb_str_aref_m
1405
+ arity: -1
1406
+ defined_at: references/ruby/string.c:12930
1407
+ c_body_at: references/ruby/string.c:5728
1408
+ c_effects: []
1409
+ purity: leaf
1410
+ slice!:
1411
+ source: c
1412
+ cfunc: rb_str_slice_bang
1413
+ arity: -1
1414
+ defined_at: references/ruby/string.c:12931
1415
+ c_body_at: references/ruby/string.c:6013
1416
+ c_effects: []
1417
+ purity: leaf
1418
+ rbs:
1419
+ - "(int index, ?int length) -> String?"
1420
+ - "(range[int?] range) -> String?"
1421
+ - "(String substring) -> String?"
1422
+ - "(Regexp regexp, ?MatchData::capture backref) -> String?"
1423
+ rbs_at: references/rbs/core/string.rbs:4492
1424
+ partition:
1425
+ source: c
1426
+ cfunc: rb_str_partition
1427
+ arity: 1
1428
+ defined_at: references/ruby/string.c:12933
1429
+ c_body_at: references/ruby/string.c:11198
1430
+ c_effects: []
1431
+ purity: leaf
1432
+ rbs:
1433
+ - "(Regexp | string pattern) -> [ String, String, String ]"
1434
+ rbs_at: references/rbs/core/string.rbs:3992
1435
+ rpartition:
1436
+ source: c
1437
+ cfunc: rb_str_rpartition
1438
+ arity: 1
1439
+ defined_at: references/ruby/string.c:12934
1440
+ c_body_at: references/ruby/string.c:11235
1441
+ c_effects: []
1442
+ purity: leaf
1443
+ rbs:
1444
+ - "(Regexp | string pattern) -> [ String, String, String ]"
1445
+ rbs_at: references/rbs/core/string.rbs:4195
1446
+ encoding:
1447
+ source: c
1448
+ cfunc: rb_obj_encoding
1449
+ arity: 0
1450
+ defined_at: references/ruby/string.c:12936
1451
+ purity: unknown
1452
+ c_body_at: not_found
1453
+ rbs:
1454
+ - "() -> Encoding"
1455
+ rbs_at: references/rbs/core/string.rbs:3138
1456
+ force_encoding:
1457
+ source: c
1458
+ cfunc: rb_str_force_encoding
1459
+ arity: 1
1460
+ defined_at: references/ruby/string.c:12937
1461
+ c_body_at: references/ruby/string.c:11563
1462
+ c_effects: []
1463
+ purity: leaf
1464
+ rbs:
1465
+ - "(encoding enc) -> self"
1466
+ rbs_at: references/rbs/core/string.rbs:3207
1467
+ b:
1468
+ source: c
1469
+ cfunc: rb_str_b
1470
+ arity: 0
1471
+ defined_at: references/ruby/string.c:12938
1472
+ c_body_at: references/ruby/string.c:11596
1473
+ c_effects: []
1474
+ purity: leaf
1475
+ rbs:
1476
+ - "() -> String"
1477
+ rbs_at: references/rbs/core/string.rbs:1678
1478
+ valid_encoding?:
1479
+ source: c
1480
+ cfunc: rb_str_valid_encoding_p
1481
+ arity: 0
1482
+ defined_at: references/ruby/string.c:12939
1483
+ c_body_at: references/ruby/string.c:11637
1484
+ c_effects: []
1485
+ purity: leaf
1486
+ rbs:
1487
+ - "() -> bool"
1488
+ rbs_at: references/rbs/core/string.rbs:5531
1489
+ ascii_only?:
1490
+ source: c
1491
+ cfunc: rb_str_is_ascii_only_p
1492
+ arity: 0
1493
+ defined_at: references/ruby/string.c:12940
1494
+ c_body_at: references/ruby/string.c:11657
1495
+ c_effects: []
1496
+ purity: leaf
1497
+ rbs:
1498
+ - "() -> bool"
1499
+ rbs_at: references/rbs/core/string.rbs:1654
1500
+ unicode_normalize:
1501
+ source: c
1502
+ cfunc: rb_str_unicode_normalize
1503
+ arity: -1
1504
+ defined_at: references/ruby/string.c:12947
1505
+ c_body_at: references/ruby/string.c:12048
1506
+ c_effects: []
1507
+ purity: leaf
1508
+ rbs:
1509
+ - "(?:nfc | :nfd | :nfkc | :nfkd form) -> self"
1510
+ rbs_at: references/rbs/core/string.rbs:5348
1511
+ unicode_normalize!:
1512
+ source: c
1513
+ cfunc: rb_str_unicode_normalize_bang
1514
+ arity: -1
1515
+ defined_at: references/ruby/string.c:12948
1516
+ c_body_at: references/ruby/string.c:12064
1517
+ c_effects:
1518
+ - mutate
1519
+ purity: mutates_self
1520
+ rbs:
1521
+ - "(?:nfc | :nfd | :nfkc | :nfkd form) -> self"
1522
+ rbs_at: references/rbs/core/string.rbs:5359
1523
+ unicode_normalized?:
1524
+ source: c
1525
+ cfunc: rb_str_unicode_normalized_p
1526
+ arity: -1
1527
+ defined_at: references/ruby/string.c:12949
1528
+ c_body_at: references/ruby/string.c:12093
1529
+ c_effects: []
1530
+ purity: leaf
1531
+ rbs:
1532
+ - "(?:nfc | :nfd | :nfkc | :nfkd) -> bool"
1533
+ rbs_at: references/rbs/core/string.rbs:5385
1534
+ singleton_methods:
1535
+ new:
1536
+ source: c
1537
+ cfunc: rb_str_s_new
1538
+ arity: -1
1539
+ defined_at: references/ruby/string.c:12791
1540
+ c_body_at: references/ruby/string.c:2143
1541
+ c_effects:
1542
+ - mutate
1543
+ purity: mutates_self
1544
+ try_convert:
1545
+ source: c
1546
+ cfunc: rb_str_s_try_convert
1547
+ arity: 1
1548
+ defined_at: references/ruby/string.c:12792
1549
+ c_body_at: references/ruby/string.c:2974
1550
+ c_effects:
1551
+ - dispatch
1552
+ purity: dispatch
1553
+ rbs:
1554
+ - "(String object) -> String"
1555
+ - "(_ToStr object) -> String"
1556
+ - "(untyped object) -> String?"
1557
+ rbs_at: references/rbs/core/string.rbs:980
1558
+ undefined: []
1559
+ Symbol:
1560
+ parent: Object
1561
+ defined_at: references/ruby/string.c:12956
1562
+ includes:
1563
+ - module: Comparable
1564
+ defined_at: references/ruby/string.c:12957
1565
+ constants: {}
1566
+ aliases: {}
1567
+ instance_methods:
1568
+ "==":
1569
+ source: c
1570
+ cfunc: sym_equal
1571
+ arity: 1
1572
+ defined_at: references/ruby/string.c:12962
1573
+ purity: unknown
1574
+ c_body_at: not_found
1575
+ rbs:
1576
+ - "(untyped object) -> bool"
1577
+ rbs_at: references/rbs/core/symbol.rbs:164
1578
+ "===":
1579
+ source: c
1580
+ cfunc: sym_equal
1581
+ arity: 1
1582
+ defined_at: references/ruby/string.c:12963
1583
+ purity: unknown
1584
+ c_body_at: not_found
1585
+ inspect:
1586
+ source: c
1587
+ cfunc: sym_inspect
1588
+ arity: 0
1589
+ defined_at: references/ruby/string.c:12964
1590
+ c_body_at: references/ruby/string.c:12308
1591
+ c_effects:
1592
+ - mutate
1593
+ purity: mutates_self
1594
+ rbs:
1595
+ - "() -> String"
1596
+ rbs_at: references/rbs/core/symbol.rbs:332
1597
+ to_proc:
1598
+ source: c
1599
+ cfunc: rb_sym_to_proc
1600
+ arity: 0
1601
+ defined_at: references/ruby/string.c:12965
1602
+ purity: unknown
1603
+ c_body_at: not_found
1604
+ rbs:
1605
+ - "() -> Proc"
1606
+ rbs_at: references/rbs/core/symbol.rbs:446
1607
+ succ:
1608
+ source: c
1609
+ cfunc: sym_succ
1610
+ arity: 0
1611
+ defined_at: references/ruby/string.c:12966
1612
+ c_body_at: references/ruby/string.c:12375
1613
+ c_effects: []
1614
+ purity: leaf
1615
+ next:
1616
+ source: c
1617
+ cfunc: sym_succ
1618
+ arity: 0
1619
+ defined_at: references/ruby/string.c:12967
1620
+ c_body_at: references/ruby/string.c:12375
1621
+ c_effects: []
1622
+ purity: leaf
1623
+ rbs:
1624
+ - "() -> Symbol"
1625
+ rbs_at: references/rbs/core/symbol.rbs:375
1626
+ "<=>":
1627
+ source: c
1628
+ cfunc: sym_cmp
1629
+ arity: 1
1630
+ defined_at: references/ruby/string.c:12969
1631
+ c_body_at: references/ruby/string.c:12405
1632
+ c_effects: []
1633
+ purity: leaf
1634
+ rbs:
1635
+ - "(Symbol object) -> (-1 | 0 | 1)"
1636
+ - "(untyped) -> (-1 | 0 | 1)?"
1637
+ rbs_at: references/rbs/core/symbol.rbs:155
1638
+ casecmp:
1639
+ source: c
1640
+ cfunc: sym_casecmp
1641
+ arity: 1
1642
+ defined_at: references/ruby/string.c:12970
1643
+ c_body_at: references/ruby/string.c:12422
1644
+ c_effects: []
1645
+ purity: leaf
1646
+ rbs:
1647
+ - "(untyped object) -> (-1 | 0 | 1)?"
1648
+ rbs_at: references/rbs/core/symbol.rbs:241
1649
+ casecmp?:
1650
+ source: c
1651
+ cfunc: sym_casecmp_p
1652
+ arity: 1
1653
+ defined_at: references/ruby/string.c:12971
1654
+ c_body_at: references/ruby/string.c:12439
1655
+ c_effects: []
1656
+ purity: leaf
1657
+ rbs:
1658
+ - "(untyped object) -> bool?"
1659
+ rbs_at: references/rbs/core/symbol.rbs:274
1660
+ "=~":
1661
+ source: c
1662
+ cfunc: sym_match
1663
+ arity: 1
1664
+ defined_at: references/ruby/string.c:12972
1665
+ c_body_at: references/ruby/string.c:12458
1666
+ c_effects: []
1667
+ purity: leaf
1668
+ rbs:
1669
+ - "(Regexp regex) -> Integer?"
1670
+ - "[T] (String::_MatchAgainst[String, T] object) -> T"
1671
+ rbs_at: references/rbs/core/symbol.rbs:178
1672
+ "[]":
1673
+ source: c
1674
+ cfunc: sym_aref
1675
+ arity: -1
1676
+ defined_at: references/ruby/string.c:12974
1677
+ c_body_at: references/ruby/string.c:12508
1678
+ c_effects: []
1679
+ purity: leaf
1680
+ rbs:
1681
+ - "(int start, ?int length) -> String?"
1682
+ - "(range[int?] range) -> String?"
1683
+ - "(Regexp regexp, ?MatchData::capture backref) -> String?"
1684
+ - "(String substring) -> String?"
1685
+ rbs_at: references/rbs/core/symbol.rbs:191
1686
+ slice:
1687
+ source: c
1688
+ cfunc: sym_aref
1689
+ arity: -1
1690
+ defined_at: references/ruby/string.c:12975
1691
+ c_body_at: references/ruby/string.c:12508
1692
+ c_effects: []
1693
+ purity: leaf
1694
+ length:
1695
+ source: c
1696
+ cfunc: sym_length
1697
+ arity: 0
1698
+ defined_at: references/ruby/string.c:12976
1699
+ c_body_at: references/ruby/string.c:12521
1700
+ c_effects: []
1701
+ purity: leaf
1702
+ rbs:
1703
+ - "() -> Integer"
1704
+ rbs_at: references/rbs/core/symbol.rbs:347
1705
+ size:
1706
+ source: c
1707
+ cfunc: sym_length
1708
+ arity: 0
1709
+ defined_at: references/ruby/string.c:12977
1710
+ c_body_at: references/ruby/string.c:12521
1711
+ c_effects: []
1712
+ purity: leaf
1713
+ empty?:
1714
+ source: c
1715
+ cfunc: sym_empty
1716
+ arity: 0
1717
+ defined_at: references/ruby/string.c:12978
1718
+ c_body_at: references/ruby/string.c:12535
1719
+ c_effects: []
1720
+ purity: leaf
1721
+ rbs:
1722
+ - "() -> bool"
1723
+ rbs_at: references/rbs/core/symbol.rbs:297
1724
+ match:
1725
+ source: c
1726
+ cfunc: sym_match_m
1727
+ arity: -1
1728
+ defined_at: references/ruby/string.c:12979
1729
+ c_body_at: references/ruby/string.c:12475
1730
+ c_effects: []
1731
+ purity: leaf
1732
+ rbs:
1733
+ - "(Regexp | string pattern, ?int offset) -> MatchData?"
1734
+ - "[T] (Regexp | string pattern, ?int offset) { (MatchData matchdata) -> T
1735
+ } -> T?"
1736
+ rbs_at: references/rbs/core/symbol.rbs:357
1737
+ match?:
1738
+ source: c
1739
+ cfunc: sym_match_m_p
1740
+ arity: -1
1741
+ defined_at: references/ruby/string.c:12980
1742
+ c_body_at: references/ruby/string.c:12490
1743
+ c_effects: []
1744
+ purity: leaf
1745
+ rbs:
1746
+ - "(Regexp | string pattern, ?int offset) -> bool"
1747
+ rbs_at: references/rbs/core/symbol.rbs:366
1748
+ upcase:
1749
+ source: c
1750
+ cfunc: sym_upcase
1751
+ arity: -1
1752
+ defined_at: references/ruby/string.c:12982
1753
+ c_body_at: references/ruby/string.c:12551
1754
+ c_effects: []
1755
+ purity: leaf
1756
+ rbs:
1757
+ - "() -> Symbol"
1758
+ - "(:ascii | :lithuanian | :turkic) -> Symbol"
1759
+ - "(:lithuanian, :turkic) -> Symbol"
1760
+ - "(:turkic, :lithuanian) -> Symbol"
1761
+ rbs_at: references/rbs/core/symbol.rbs:478
1762
+ downcase:
1763
+ source: c
1764
+ cfunc: sym_downcase
1765
+ arity: -1
1766
+ defined_at: references/ruby/string.c:12983
1767
+ c_body_at: references/ruby/string.c:12569
1768
+ c_effects: []
1769
+ purity: leaf
1770
+ rbs:
1771
+ - "() -> Symbol"
1772
+ - "(:ascii | :fold | :lithuanian | :turkic) -> Symbol"
1773
+ - "(:lithuanian, :turkic) -> Symbol"
1774
+ - "(:turkic, :lithuanian) -> Symbol"
1775
+ rbs_at: references/rbs/core/symbol.rbs:286
1776
+ capitalize:
1777
+ source: c
1778
+ cfunc: sym_capitalize
1779
+ arity: -1
1780
+ defined_at: references/ruby/string.c:12984
1781
+ c_body_at: references/ruby/string.c:12585
1782
+ c_effects: []
1783
+ purity: leaf
1784
+ rbs:
1785
+ - "() -> Symbol"
1786
+ - "(:ascii | :lithuanian | :turkic) -> Symbol"
1787
+ - "(:lithuanian, :turkic) -> Symbol"
1788
+ - "(:turkic, :lithuanian) -> Symbol"
1789
+ rbs_at: references/rbs/core/symbol.rbs:204
1790
+ swapcase:
1791
+ source: c
1792
+ cfunc: sym_swapcase
1793
+ arity: -1
1794
+ defined_at: references/ruby/string.c:12985
1795
+ c_body_at: references/ruby/string.c:12601
1796
+ c_effects: []
1797
+ purity: leaf
1798
+ rbs:
1799
+ - "() -> Symbol"
1800
+ - "(:ascii | :lithuanian | :turkic) -> Symbol"
1801
+ - "(:lithuanian, :turkic) -> Symbol"
1802
+ - "(:turkic, :lithuanian) -> Symbol"
1803
+ rbs_at: references/rbs/core/symbol.rbs:429
1804
+ start_with?:
1805
+ source: c
1806
+ cfunc: sym_start_with
1807
+ arity: -1
1808
+ defined_at: references/ruby/string.c:12987
1809
+ c_body_at: references/ruby/string.c:12615
1810
+ c_effects: []
1811
+ purity: leaf
1812
+ rbs:
1813
+ - "(*Regexp | string prefixes) -> bool"
1814
+ rbs_at: references/rbs/core/symbol.rbs:407
1815
+ end_with?:
1816
+ source: c
1817
+ cfunc: sym_end_with
1818
+ arity: -1
1819
+ defined_at: references/ruby/string.c:12988
1820
+ c_body_at: references/ruby/string.c:12630
1821
+ c_effects: []
1822
+ purity: leaf
1823
+ rbs:
1824
+ - "(*string suffixes) -> bool"
1825
+ rbs_at: references/rbs/core/symbol.rbs:313
1826
+ encoding:
1827
+ source: c
1828
+ cfunc: sym_encoding
1829
+ arity: 0
1830
+ defined_at: references/ruby/string.c:12990
1831
+ c_body_at: references/ruby/string.c:12644
1832
+ c_effects: []
1833
+ purity: leaf
1834
+ rbs:
1835
+ - "() -> Encoding"
1836
+ rbs_at: references/rbs/core/symbol.rbs:305
1837
+ singleton_methods:
1838
+ all_symbols:
1839
+ source: c
1840
+ cfunc: sym_all_symbols
1841
+ arity: 0
1842
+ defined_at: references/ruby/string.c:12960
1843
+ c_body_at: references/ruby/string.c:12695
1844
+ c_effects: []
1845
+ purity: leaf
1846
+ rbs:
1847
+ - "() -> Array[Symbol]"
1848
+ rbs_at: references/rbs/core/symbol.rbs:130
1849
+ undefined:
1850
+ - new