rigortype 0.0.2 → 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 (36) 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 +86 -1
  8. data/lib/rigor/analysis/runner.rb +4 -0
  9. data/lib/rigor/builtins/imported_refinements.rb +69 -0
  10. data/lib/rigor/configuration.rb +6 -1
  11. data/lib/rigor/inference/acceptance.rb +149 -0
  12. data/lib/rigor/inference/builtins/array_catalog.rb +46 -0
  13. data/lib/rigor/inference/builtins/method_catalog.rb +90 -0
  14. data/lib/rigor/inference/builtins/numeric_catalog.rb +93 -0
  15. data/lib/rigor/inference/builtins/string_catalog.rb +39 -0
  16. data/lib/rigor/inference/expression_typer.rb +48 -1
  17. data/lib/rigor/inference/method_dispatcher/constant_folding.rb +650 -16
  18. data/lib/rigor/inference/method_dispatcher/file_folding.rb +144 -0
  19. data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +113 -0
  20. data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +4 -0
  21. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +107 -0
  22. data/lib/rigor/inference/method_dispatcher.rb +28 -21
  23. data/lib/rigor/inference/narrowing.rb +374 -4
  24. data/lib/rigor/inference/scope_indexer.rb +10 -2
  25. data/lib/rigor/inference/statement_evaluator.rb +211 -2
  26. data/lib/rigor/rbs_extended.rb +65 -1
  27. data/lib/rigor/scope.rb +14 -0
  28. data/lib/rigor/type/combinator.rb +69 -1
  29. data/lib/rigor/type/difference.rb +155 -0
  30. data/lib/rigor/type/integer_range.rb +137 -0
  31. data/lib/rigor/type.rb +2 -0
  32. data/lib/rigor/version.rb +1 -1
  33. data/sig/rigor/rbs_extended.rbs +3 -0
  34. data/sig/rigor/scope.rbs +1 -0
  35. data/sig/rigor/type.rbs +51 -1
  36. metadata +15 -1
@@ -0,0 +1,1594 @@
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/io.c
6
+ ruby_prelude: references/ruby/io.rb
7
+ rbs:
8
+ - references/rbs/core/io.rbs
9
+ purity_levels:
10
+ leaf: Prelude :leaf marker (VM-enforced) or C body uses no dispatch/yield/mutation.
11
+ trivial: Prelude method body is a literal return (self/true/false/nil/Integer).
12
+ leaf_when_numeric: C body falls through to rb_num_coerce_* only when an operand
13
+ is non-numeric; safe to fold when every argument is a concrete numeric.
14
+ inline_block: Prelude method carries :inline_block or :use_block; block-dependent.
15
+ block_dependent: C body yields or checks rb_block_given_p.
16
+ mutates_self: C body checks rb_check_frozen — typically a prelude to mutation.
17
+ dispatch: C body calls user-redefinable methods (rb_funcall*, rb_equal, rb_Float,
18
+ num_funcall*, etc).
19
+ unknown: C body not located in indexed C files.
20
+ classes:
21
+ IOError:
22
+ parent: StandardError
23
+ defined_at: references/ruby/io.c:15628
24
+ includes: []
25
+ constants: {}
26
+ aliases: {}
27
+ instance_methods: {}
28
+ singleton_methods: {}
29
+ undefined: []
30
+ EOFError:
31
+ parent: IOError
32
+ defined_at: references/ruby/io.c:15629
33
+ includes: []
34
+ constants: {}
35
+ aliases: {}
36
+ instance_methods: {}
37
+ singleton_methods: {}
38
+ undefined: []
39
+ IO:
40
+ parent: Object
41
+ defined_at: references/ruby/io.c:15657
42
+ includes:
43
+ - module: Enumerable
44
+ defined_at: references/ruby/io.c:15658
45
+ constants:
46
+ READABLE:
47
+ c_expression: INT2NUM(RUBY_IO_READABLE)
48
+ defined_at: references/ruby/io.c:15664
49
+ WRITABLE:
50
+ c_expression: INT2NUM(RUBY_IO_WRITABLE)
51
+ defined_at: references/ruby/io.c:15666
52
+ PRIORITY:
53
+ c_expression: INT2NUM(RUBY_IO_PRIORITY)
54
+ defined_at: references/ruby/io.c:15668
55
+ EWOULDBLOCKWaitReadable:
56
+ c_expression: rb_eEAGAINWaitReadable
57
+ defined_at: references/ruby/io.c:15683
58
+ EWOULDBLOCKWaitWritable:
59
+ c_expression: rb_eEAGAINWaitWritable
60
+ defined_at: references/ruby/io.c:15686
61
+ SEEK_SET:
62
+ c_expression: INT2FIX(SEEK_SET)
63
+ defined_at: references/ruby/io.c:15794
64
+ SEEK_CUR:
65
+ c_expression: INT2FIX(SEEK_CUR)
66
+ defined_at: references/ruby/io.c:15796
67
+ SEEK_END:
68
+ c_expression: INT2FIX(SEEK_END)
69
+ defined_at: references/ruby/io.c:15798
70
+ SEEK_DATA:
71
+ c_expression: INT2FIX(SEEK_DATA)
72
+ defined_at: references/ruby/io.c:15801
73
+ SEEK_HOLE:
74
+ c_expression: INT2FIX(SEEK_HOLE)
75
+ defined_at: references/ruby/io.c:15805
76
+ aliases:
77
+ to_i:
78
+ old: fileno
79
+ source: c
80
+ defined_at: references/ruby/io.c:15763
81
+ instance_methods:
82
+ initialize:
83
+ source: c
84
+ cfunc: rb_io_initialize
85
+ arity: -1
86
+ defined_at: references/ruby/io.c:15724
87
+ c_body_at: references/ruby/io.c:9518
88
+ c_effects: []
89
+ purity: leaf
90
+ rbs:
91
+ - "(int fd, ?string | int mode, ?path: string?, ?external_encoding: String
92
+ | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
93
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
94
+ boolish, ?mode: String) -> void"
95
+ rbs_at: references/rbs/core/io.rbs:1191
96
+ initialize_copy:
97
+ source: c
98
+ cfunc: rb_io_init_copy
99
+ arity: 1
100
+ defined_at: references/ruby/io.c:15742
101
+ c_body_at: references/ruby/io.c:8555
102
+ c_effects: []
103
+ purity: leaf
104
+ reopen:
105
+ source: c
106
+ cfunc: rb_io_reopen
107
+ arity: -1
108
+ defined_at: references/ruby/io.c:15743
109
+ c_body_at: references/ruby/io.c:8466
110
+ c_effects:
111
+ - raises
112
+ purity: leaf
113
+ rbs:
114
+ - "(IO other_IO_or_path) -> IO"
115
+ - "(String other_IO_or_path, ?String mode_str) -> IO"
116
+ rbs_at: references/rbs/core/io.rbs:1864
117
+ print:
118
+ source: c
119
+ cfunc: rb_io_print
120
+ arity: -1
121
+ defined_at: references/ruby/io.c:15745
122
+ c_body_at: references/ruby/io.c:8748
123
+ c_effects: []
124
+ purity: leaf
125
+ rbs:
126
+ - "(*untyped objects) -> nil"
127
+ rbs_at: references/rbs/core/io.rbs:1371
128
+ putc:
129
+ source: c
130
+ cfunc: rb_io_putc
131
+ arity: 1
132
+ defined_at: references/ruby/io.c:15746
133
+ c_body_at: references/ruby/io.c:8853
134
+ c_effects: []
135
+ purity: leaf
136
+ rbs:
137
+ - "(Numeric | String object) -> (Numeric | String)"
138
+ rbs_at: references/rbs/core/io.rbs:1402
139
+ puts:
140
+ source: c
141
+ cfunc: rb_io_puts
142
+ arity: -1
143
+ defined_at: references/ruby/io.c:15747
144
+ c_body_at: references/ruby/io.c:8980
145
+ c_effects:
146
+ - dispatch
147
+ purity: dispatch
148
+ rbs:
149
+ - "(*untyped objects) -> nil"
150
+ rbs_at: references/rbs/core/io.rbs:1448
151
+ printf:
152
+ source: c
153
+ cfunc: rb_io_printf
154
+ arity: -1
155
+ defined_at: references/ruby/io.c:15748
156
+ c_body_at: references/ruby/io.c:8615
157
+ c_effects: []
158
+ purity: leaf
159
+ rbs:
160
+ - "(String format_string, *untyped objects) -> nil"
161
+ rbs_at: references/rbs/core/io.rbs:1382
162
+ each:
163
+ source: c
164
+ cfunc: rb_io_each_line
165
+ arity: -1
166
+ defined_at: references/ruby/io.c:15750
167
+ c_body_at: references/ruby/io.c:4700
168
+ c_effects:
169
+ - block
170
+ - raises
171
+ purity: block_dependent
172
+ each_line:
173
+ source: c
174
+ cfunc: rb_io_each_line
175
+ arity: -1
176
+ defined_at: references/ruby/io.c:15751
177
+ c_body_at: references/ruby/io.c:4700
178
+ c_effects:
179
+ - block
180
+ - raises
181
+ purity: block_dependent
182
+ rbs:
183
+ - "(?string sep, ?int limit, ?chomp: boolish) { (String line) -> void } ->
184
+ self"
185
+ - "(?string sep, ?int limit, ?chomp: boolish) -> ::Enumerator[String, self]"
186
+ rbs_at: references/rbs/core/io.rbs:3148
187
+ each_byte:
188
+ source: c
189
+ cfunc: rb_io_each_byte
190
+ arity: 0
191
+ defined_at: references/ruby/io.c:15752
192
+ c_body_at: references/ruby/io.c:4736
193
+ c_effects:
194
+ - block
195
+ purity: block_dependent
196
+ rbs:
197
+ - "() { (Integer byte) -> void } -> self"
198
+ - "() -> ::Enumerator[Integer, self]"
199
+ rbs_at: references/rbs/core/io.rbs:895
200
+ each_char:
201
+ source: c
202
+ cfunc: rb_io_each_char
203
+ arity: 0
204
+ defined_at: references/ruby/io.c:15753
205
+ c_body_at: references/ruby/io.c:4884
206
+ c_effects:
207
+ - block
208
+ purity: block_dependent
209
+ rbs:
210
+ - "() { (String c) -> void } -> self"
211
+ - "() -> ::Enumerator[String, self]"
212
+ rbs_at: references/rbs/core/io.rbs:916
213
+ each_codepoint:
214
+ source: c
215
+ cfunc: rb_io_each_codepoint
216
+ arity: 0
217
+ defined_at: references/ruby/io.c:15754
218
+ c_body_at: references/ruby/io.c:4922
219
+ c_effects:
220
+ - block
221
+ - raises
222
+ purity: block_dependent
223
+ rbs:
224
+ - "() { (Integer c) -> void } -> self"
225
+ - "() -> ::Enumerator[Integer, self]"
226
+ rbs_at: references/rbs/core/io.rbs:936
227
+ syswrite:
228
+ source: c
229
+ cfunc: rb_io_syswrite
230
+ arity: 1
231
+ defined_at: references/ruby/io.c:15756
232
+ c_body_at: references/ruby/io.c:6094
233
+ c_effects: []
234
+ purity: leaf
235
+ rbs:
236
+ - "(_ToS object) -> Integer"
237
+ rbs_at: references/rbs/core/io.rbs:2081
238
+ sysread:
239
+ source: c
240
+ cfunc: rb_io_sysread
241
+ arity: -1
242
+ defined_at: references/ruby/io.c:15757
243
+ c_body_at: references/ruby/io.c:6133
244
+ c_effects:
245
+ - raises
246
+ purity: leaf
247
+ rbs:
248
+ - "(Integer maxlen, String outbuf) -> String"
249
+ rbs_at: references/rbs/core/io.rbs:2052
250
+ pread:
251
+ source: c
252
+ cfunc: rb_io_pread
253
+ arity: -1
254
+ defined_at: references/ruby/io.c:15759
255
+ c_body_at: references/ruby/io.c:6241
256
+ c_effects: []
257
+ purity: leaf
258
+ rbs:
259
+ - "(int maxlen, int offset, ?string out_string) -> String"
260
+ rbs_at: references/rbs/core/io.rbs:1477
261
+ pwrite:
262
+ source: c
263
+ cfunc: rb_io_pwrite
264
+ arity: 2
265
+ defined_at: references/ruby/io.c:15760
266
+ c_body_at: references/ruby/io.c:6329
267
+ c_effects: []
268
+ purity: leaf
269
+ rbs:
270
+ - "(_ToS object, int offset) -> Integer"
271
+ rbs_at: references/rbs/core/io.rbs:1503
272
+ fileno:
273
+ source: c
274
+ cfunc: rb_io_fileno
275
+ arity: 0
276
+ defined_at: references/ruby/io.c:15762
277
+ c_body_at: references/ruby/io.c:2916
278
+ c_effects: []
279
+ purity: leaf
280
+ rbs:
281
+ - "() -> Integer"
282
+ rbs_at: references/rbs/core/io.rbs:1013
283
+ to_io:
284
+ source: c
285
+ cfunc: rb_io_to_io
286
+ arity: 0
287
+ defined_at: references/ruby/io.c:15764
288
+ c_body_at: references/ruby/io.c:3061
289
+ c_effects: []
290
+ purity: leaf
291
+ rbs:
292
+ - "() -> self"
293
+ rbs_at: references/rbs/core/io.rbs:2158
294
+ timeout:
295
+ source: c
296
+ cfunc: rb_io_timeout
297
+ arity: 0
298
+ defined_at: references/ruby/io.c:15766
299
+ c_body_at: references/ruby/io.c:857
300
+ c_effects: []
301
+ purity: leaf
302
+ rbs:
303
+ - "() -> io_timeout"
304
+ rbs_at: references/rbs/core/io.rbs:2120
305
+ timeout=:
306
+ source: c
307
+ cfunc: rb_io_set_timeout
308
+ arity: 1
309
+ defined_at: references/ruby/io.c:15767
310
+ c_body_at: references/ruby/io.c:886
311
+ c_effects: []
312
+ purity: leaf
313
+ rbs:
314
+ - "(io_timeout duration) -> void"
315
+ rbs_at: references/rbs/core/io.rbs:2150
316
+ fsync:
317
+ source: c
318
+ cfunc: rb_io_fsync
319
+ arity: 0
320
+ defined_at: references/ruby/io.c:15769
321
+ purity: unknown
322
+ c_body_at: not_found
323
+ rbs:
324
+ - "() -> Integer?"
325
+ rbs_at: references/rbs/core/io.rbs:1045
326
+ fdatasync:
327
+ source: c
328
+ cfunc: rb_io_fdatasync
329
+ arity: 0
330
+ defined_at: references/ruby/io.c:15770
331
+ purity: unknown
332
+ c_body_at: not_found
333
+ rbs:
334
+ - "() -> Integer?"
335
+ rbs_at: references/rbs/core/io.rbs:999
336
+ sync:
337
+ source: c
338
+ cfunc: rb_io_sync
339
+ arity: 0
340
+ defined_at: references/ruby/io.c:15771
341
+ purity: unknown
342
+ c_body_at: not_found
343
+ rbs:
344
+ - "() -> bool"
345
+ rbs_at: references/rbs/core/io.rbs:2016
346
+ sync=:
347
+ source: c
348
+ cfunc: rb_io_set_sync
349
+ arity: 1
350
+ defined_at: references/ruby/io.c:15772
351
+ c_body_at: references/ruby/io.c:2796
352
+ c_effects: []
353
+ purity: leaf
354
+ rbs:
355
+ - "(boolish boolean) -> boolish"
356
+ rbs_at: references/rbs/core/io.rbs:2041
357
+ lineno:
358
+ source: c
359
+ cfunc: rb_io_lineno
360
+ arity: 0
361
+ defined_at: references/ruby/io.c:15774
362
+ c_body_at: references/ruby/io.c:4438
363
+ c_effects: []
364
+ purity: leaf
365
+ rbs:
366
+ - "() -> Integer"
367
+ rbs_at: references/rbs/core/io.rbs:1254
368
+ lineno=:
369
+ source: c
370
+ cfunc: rb_io_set_lineno
371
+ arity: 1
372
+ defined_at: references/ruby/io.c:15775
373
+ c_body_at: references/ruby/io.c:4457
374
+ c_effects: []
375
+ purity: leaf
376
+ rbs:
377
+ - "(Integer integer) -> Integer"
378
+ rbs_at: references/rbs/core/io.rbs:1263
379
+ readlines:
380
+ source: c
381
+ cfunc: rb_io_readlines
382
+ arity: -1
383
+ defined_at: references/ruby/io.c:15777
384
+ c_body_at: references/ruby/io.c:4571
385
+ c_effects: []
386
+ purity: leaf
387
+ rbs:
388
+ - "(?String sep, ?Integer limit, ?chomp: boolish) -> ::Array[String]"
389
+ rbs_at: references/rbs/core/io.rbs:1740
390
+ readpartial:
391
+ source: c
392
+ cfunc: io_readpartial
393
+ arity: -1
394
+ defined_at: references/ruby/io.c:15779
395
+ c_body_at: references/ruby/io.c:3642
396
+ c_effects: []
397
+ purity: leaf
398
+ rbs:
399
+ - "(int maxlen, ?string outbuf) -> String"
400
+ rbs_at: references/rbs/core/io.rbs:1831
401
+ read:
402
+ source: c
403
+ cfunc: io_read
404
+ arity: -1
405
+ defined_at: references/ruby/io.c:15780
406
+ c_body_at: references/ruby/io.c:3826
407
+ c_effects:
408
+ - raises
409
+ purity: leaf
410
+ rbs:
411
+ - "(?nil, ?string outbuf) -> String"
412
+ - "(int? length, ?string outbuf) -> String?"
413
+ rbs_at: references/rbs/core/io.rbs:1574
414
+ write:
415
+ source: c
416
+ cfunc: io_write_m
417
+ arity: -1
418
+ defined_at: references/ruby/io.c:15781
419
+ c_body_at: references/ruby/io.c:2322
420
+ c_effects: []
421
+ purity: leaf
422
+ rbs:
423
+ - "(*_ToS string) -> Integer"
424
+ rbs_at: references/rbs/core/io.rbs:2271
425
+ gets:
426
+ source: c
427
+ cfunc: rb_io_gets_m
428
+ arity: -1
429
+ defined_at: references/ruby/io.c:15782
430
+ c_body_at: references/ruby/io.c:4418
431
+ c_effects: []
432
+ purity: leaf
433
+ rbs:
434
+ - "(string? sep, ?int limit, ?chomp: boolish) -> String?"
435
+ - "(?int limit, ?chomp: boolish) -> String?"
436
+ rbs_at: references/rbs/core/io.rbs:1149
437
+ getc:
438
+ source: c
439
+ cfunc: rb_io_getc
440
+ arity: 0
441
+ defined_at: references/ruby/io.c:15783
442
+ c_body_at: references/ruby/io.c:5035
443
+ c_effects: []
444
+ purity: leaf
445
+ rbs:
446
+ - "() -> String?"
447
+ rbs_at: references/rbs/core/io.rbs:1081
448
+ getbyte:
449
+ source: c
450
+ cfunc: rb_io_getbyte
451
+ arity: 0
452
+ defined_at: references/ruby/io.c:15784
453
+ c_body_at: references/ruby/io.c:5097
454
+ c_effects: []
455
+ purity: leaf
456
+ rbs:
457
+ - "() -> Integer?"
458
+ rbs_at: references/rbs/core/io.rbs:1063
459
+ readchar:
460
+ source: c
461
+ cfunc: rb_io_readchar
462
+ arity: 0
463
+ defined_at: references/ruby/io.c:15785
464
+ c_body_at: references/ruby/io.c:5068
465
+ c_effects: []
466
+ purity: leaf
467
+ rbs:
468
+ - "() -> String"
469
+ rbs_at: references/rbs/core/io.rbs:1667
470
+ readbyte:
471
+ source: c
472
+ cfunc: rb_io_readbyte
473
+ arity: 0
474
+ defined_at: references/ruby/io.c:15786
475
+ c_body_at: references/ruby/io.c:5142
476
+ c_effects: []
477
+ purity: leaf
478
+ rbs:
479
+ - "() -> Integer"
480
+ rbs_at: references/rbs/core/io.rbs:1649
481
+ ungetbyte:
482
+ source: c
483
+ cfunc: rb_io_ungetbyte
484
+ arity: 1
485
+ defined_at: references/ruby/io.c:15787
486
+ c_body_at: references/ruby/io.c:5191
487
+ c_effects: []
488
+ purity: leaf
489
+ rbs:
490
+ - "(String | Integer object) -> nil"
491
+ rbs_at: references/rbs/core/io.rbs:2208
492
+ ungetc:
493
+ source: c
494
+ cfunc: rb_io_ungetc
495
+ arity: 1
496
+ defined_at: references/ruby/io.c:15788
497
+ c_body_at: references/ruby/io.c:5255
498
+ c_effects:
499
+ - raises
500
+ purity: leaf
501
+ rbs:
502
+ - "(String object) -> nil"
503
+ rbs_at: references/rbs/core/io.rbs:2250
504
+ !!str '<<':
505
+ source: c
506
+ cfunc: rb_io_addstr
507
+ arity: 1
508
+ defined_at: references/ruby/io.c:15789
509
+ c_body_at: references/ruby/io.c:2382
510
+ c_effects: []
511
+ purity: leaf
512
+ rbs:
513
+ - "(_ToS obj) -> self"
514
+ rbs_at: references/rbs/core/io.rbs:636
515
+ flush:
516
+ source: c
517
+ cfunc: rb_io_flush
518
+ arity: 0
519
+ defined_at: references/ruby/io.c:15790
520
+ c_body_at: references/ruby/io.c:2438
521
+ c_effects: []
522
+ purity: leaf
523
+ rbs:
524
+ - "() -> self"
525
+ rbs_at: references/rbs/core/io.rbs:1025
526
+ tell:
527
+ source: c
528
+ cfunc: rb_io_tell
529
+ arity: 0
530
+ defined_at: references/ruby/io.c:15791
531
+ c_body_at: references/ruby/io.c:2460
532
+ c_effects: []
533
+ purity: leaf
534
+ rbs:
535
+ - "() -> Integer"
536
+ rbs_at: references/rbs/core/io.rbs:2098
537
+ seek:
538
+ source: c
539
+ cfunc: rb_io_seek_m
540
+ arity: -1
541
+ defined_at: references/ruby/io.c:15792
542
+ c_body_at: references/ruby/io.c:2554
543
+ c_effects: []
544
+ purity: leaf
545
+ rbs:
546
+ - "(Integer amount, ?Integer whence) -> Integer"
547
+ rbs_at: references/rbs/core/io.rbs:1935
548
+ rewind:
549
+ source: c
550
+ cfunc: rb_io_rewind
551
+ arity: 0
552
+ defined_at: references/ruby/io.c:15807
553
+ c_body_at: references/ruby/io.c:2624
554
+ c_effects: []
555
+ purity: leaf
556
+ rbs:
557
+ - "() -> Integer"
558
+ rbs_at: references/rbs/core/io.rbs:1889
559
+ pos:
560
+ source: c
561
+ cfunc: rb_io_tell
562
+ arity: 0
563
+ defined_at: references/ruby/io.c:15808
564
+ c_body_at: references/ruby/io.c:2460
565
+ c_effects: []
566
+ purity: leaf
567
+ pos=:
568
+ source: c
569
+ cfunc: rb_io_set_pos
570
+ arity: 1
571
+ defined_at: references/ruby/io.c:15809
572
+ c_body_at: references/ruby/io.c:2584
573
+ c_effects: []
574
+ purity: leaf
575
+ rbs:
576
+ - "(Integer new_position) -> Integer"
577
+ rbs_at: references/rbs/core/io.rbs:1316
578
+ eof:
579
+ source: c
580
+ cfunc: rb_io_eof
581
+ arity: 0
582
+ defined_at: references/ruby/io.c:15810
583
+ c_body_at: references/ruby/io.c:2724
584
+ c_effects: []
585
+ purity: leaf
586
+ rbs:
587
+ - "() -> bool"
588
+ rbs_at: references/rbs/core/io.rbs:973
589
+ eof?:
590
+ source: c
591
+ cfunc: rb_io_eof
592
+ arity: 0
593
+ defined_at: references/ruby/io.c:15811
594
+ c_body_at: references/ruby/io.c:2724
595
+ c_effects: []
596
+ purity: leaf
597
+ close_on_exec?:
598
+ source: c
599
+ cfunc: rb_io_close_on_exec_p
600
+ arity: 0
601
+ defined_at: references/ruby/io.c:15813
602
+ purity: unknown
603
+ c_body_at: not_found
604
+ rbs:
605
+ - "() -> bool"
606
+ rbs_at: references/rbs/core/io.rbs:786
607
+ close_on_exec=:
608
+ source: c
609
+ cfunc: rb_io_set_close_on_exec
610
+ arity: 1
611
+ defined_at: references/ruby/io.c:15814
612
+ purity: unknown
613
+ c_body_at: not_found
614
+ rbs:
615
+ - "(boolish bool) -> nil"
616
+ rbs_at: references/rbs/core/io.rbs:772
617
+ close:
618
+ source: c
619
+ cfunc: rb_io_close_m
620
+ arity: 0
621
+ defined_at: references/ruby/io.c:15816
622
+ c_body_at: references/ruby/io.c:5816
623
+ c_effects: []
624
+ purity: leaf
625
+ rbs:
626
+ - "() -> nil"
627
+ rbs_at: references/rbs/core/io.rbs:753
628
+ closed?:
629
+ source: c
630
+ cfunc: rb_io_closed_p
631
+ arity: 0
632
+ defined_at: references/ruby/io.c:15817
633
+ c_body_at: references/ruby/io.c:5881
634
+ c_effects: []
635
+ purity: leaf
636
+ rbs:
637
+ - "() -> bool"
638
+ rbs_at: references/rbs/core/io.rbs:875
639
+ close_read:
640
+ source: c
641
+ cfunc: rb_io_close_read
642
+ arity: 0
643
+ defined_at: references/ruby/io.c:15818
644
+ c_body_at: references/ruby/io.c:5932
645
+ c_effects:
646
+ - raises
647
+ purity: leaf
648
+ rbs:
649
+ - "() -> nil"
650
+ rbs_at: references/rbs/core/io.rbs:818
651
+ close_write:
652
+ source: c
653
+ cfunc: rb_io_close_write
654
+ arity: 0
655
+ defined_at: references/ruby/io.c:15819
656
+ c_body_at: references/ruby/io.c:6005
657
+ c_effects:
658
+ - raises
659
+ purity: leaf
660
+ rbs:
661
+ - "() -> nil"
662
+ rbs_at: references/rbs/core/io.rbs:850
663
+ isatty:
664
+ source: c
665
+ cfunc: rb_io_isatty
666
+ arity: 0
667
+ defined_at: references/ruby/io.c:15821
668
+ c_body_at: references/ruby/io.c:5313
669
+ c_effects: []
670
+ purity: leaf
671
+ rbs:
672
+ - "() -> bool"
673
+ rbs_at: references/rbs/core/io.rbs:1245
674
+ tty?:
675
+ source: c
676
+ cfunc: rb_io_isatty
677
+ arity: 0
678
+ defined_at: references/ruby/io.c:15822
679
+ c_body_at: references/ruby/io.c:5313
680
+ c_effects: []
681
+ purity: leaf
682
+ binmode:
683
+ source: c
684
+ cfunc: rb_io_binmode_m
685
+ arity: 0
686
+ defined_at: references/ruby/io.c:15823
687
+ c_body_at: references/ruby/io.c:6428
688
+ c_effects: []
689
+ purity: leaf
690
+ rbs:
691
+ - "() -> self"
692
+ rbs_at: references/rbs/core/io.rbs:708
693
+ binmode?:
694
+ source: c
695
+ cfunc: rb_io_binmode_p
696
+ arity: 0
697
+ defined_at: references/ruby/io.c:15824
698
+ c_body_at: references/ruby/io.c:6449
699
+ c_effects: []
700
+ purity: leaf
701
+ rbs:
702
+ - "() -> bool"
703
+ rbs_at: references/rbs/core/io.rbs:717
704
+ sysseek:
705
+ source: c
706
+ cfunc: rb_io_sysseek
707
+ arity: -1
708
+ defined_at: references/ruby/io.c:15825
709
+ c_body_at: references/ruby/io.c:6049
710
+ c_effects:
711
+ - raises
712
+ purity: leaf
713
+ rbs:
714
+ - "(Integer amount, ?Integer whence) -> Integer"
715
+ rbs_at: references/rbs/core/io.rbs:2063
716
+ advise:
717
+ source: c
718
+ cfunc: rb_io_advise
719
+ arity: -1
720
+ defined_at: references/ruby/io.c:15826
721
+ c_body_at: references/ruby/io.c:10972
722
+ c_effects: []
723
+ purity: leaf
724
+ rbs:
725
+ - "(:normal | :sequential | :random | :willneed | :dontneed | :noreuse advise,
726
+ ?Integer offset, ?Integer len) -> nil"
727
+ rbs_at: references/rbs/core/io.rbs:670
728
+ ioctl:
729
+ source: c
730
+ cfunc: rb_io_ioctl
731
+ arity: -1
732
+ defined_at: references/ruby/io.c:15828
733
+ purity: unknown
734
+ c_body_at: not_found
735
+ rbs:
736
+ - "(Integer integer_cmd, String | Integer argument) -> Integer"
737
+ rbs_at: references/rbs/core/io.rbs:1231
738
+ fcntl:
739
+ source: c
740
+ cfunc: rb_io_fcntl
741
+ arity: -1
742
+ defined_at: references/ruby/io.c:15829
743
+ purity: unknown
744
+ c_body_at: not_found
745
+ rbs:
746
+ - "(Integer integer_cmd, String | Integer argument) -> Integer"
747
+ rbs_at: references/rbs/core/io.rbs:989
748
+ pid:
749
+ source: c
750
+ cfunc: rb_io_pid
751
+ arity: 0
752
+ defined_at: references/ruby/io.c:15830
753
+ c_body_at: references/ruby/io.c:2977
754
+ c_effects: []
755
+ purity: leaf
756
+ rbs:
757
+ - "() -> Integer"
758
+ rbs_at: references/rbs/core/io.rbs:1299
759
+ path:
760
+ source: c
761
+ cfunc: rb_io_path
762
+ arity: 0
763
+ defined_at: references/ruby/io.c:15832
764
+ c_body_at: references/ruby/io.c:3001
765
+ c_effects: []
766
+ purity: leaf
767
+ rbs:
768
+ - "() -> String?"
769
+ rbs_at: references/rbs/core/io.rbs:1277
770
+ to_path:
771
+ source: c
772
+ cfunc: rb_io_path
773
+ arity: 0
774
+ defined_at: references/ruby/io.c:15833
775
+ c_body_at: references/ruby/io.c:3001
776
+ c_effects: []
777
+ purity: leaf
778
+ inspect:
779
+ source: c
780
+ cfunc: rb_io_inspect
781
+ arity: 0
782
+ defined_at: references/ruby/io.c:15835
783
+ c_body_at: references/ruby/io.c:3024
784
+ c_effects: []
785
+ purity: leaf
786
+ rbs:
787
+ - "() -> String"
788
+ rbs_at: references/rbs/core/io.rbs:1203
789
+ external_encoding:
790
+ source: c
791
+ cfunc: rb_io_external_encoding
792
+ arity: 0
793
+ defined_at: references/ruby/io.c:15837
794
+ c_body_at: references/ruby/io.c:13465
795
+ c_effects: []
796
+ purity: leaf
797
+ internal_encoding:
798
+ source: c
799
+ cfunc: rb_io_internal_encoding
800
+ arity: 0
801
+ defined_at: references/ruby/io.c:15838
802
+ c_body_at: references/ruby/io.c:13493
803
+ c_effects: []
804
+ purity: leaf
805
+ rbs:
806
+ - "() -> Encoding"
807
+ rbs_at: references/rbs/core/io.rbs:1214
808
+ set_encoding:
809
+ source: c
810
+ cfunc: rb_io_set_encoding
811
+ arity: -1
812
+ defined_at: references/ruby/io.c:15839
813
+ c_body_at: references/ruby/io.c:13532
814
+ c_effects: []
815
+ purity: leaf
816
+ rbs:
817
+ - "(?String | Encoding ext_or_ext_int_enc) -> self"
818
+ - "(?String | Encoding ext_or_ext_int_enc, ?String | Encoding int_enc) ->
819
+ self"
820
+ rbs_at: references/rbs/core/io.rbs:1961
821
+ set_encoding_by_bom:
822
+ source: c
823
+ cfunc: rb_io_set_encoding_by_bom
824
+ arity: 0
825
+ defined_at: references/ruby/io.c:15840
826
+ c_body_at: references/ruby/io.c:9626
827
+ c_effects:
828
+ - raises
829
+ purity: leaf
830
+ rbs:
831
+ - "() -> Encoding?"
832
+ rbs_at: references/rbs/core/io.rbs:1986
833
+ autoclose?:
834
+ source: c
835
+ cfunc: rb_io_autoclose_p
836
+ arity: 0
837
+ defined_at: references/ruby/io.c:15842
838
+ c_body_at: references/ruby/io.c:9743
839
+ c_effects: []
840
+ purity: leaf
841
+ rbs:
842
+ - "() -> bool"
843
+ rbs_at: references/rbs/core/io.rbs:697
844
+ autoclose=:
845
+ source: c
846
+ cfunc: rb_io_set_autoclose
847
+ arity: 1
848
+ defined_at: references/ruby/io.c:15843
849
+ c_body_at: references/ruby/io.c:9768
850
+ c_effects: []
851
+ purity: leaf
852
+ rbs:
853
+ - "(boolish bool) -> boolish"
854
+ rbs_at: references/rbs/core/io.rbs:688
855
+ wait:
856
+ source: c
857
+ cfunc: io_wait
858
+ arity: -1
859
+ defined_at: references/ruby/io.c:15845
860
+ c_body_at: references/ruby/io.c:9940
861
+ c_effects:
862
+ - raises
863
+ purity: leaf
864
+ wait_readable:
865
+ source: c
866
+ cfunc: io_wait_readable
867
+ arity: -1
868
+ defined_at: references/ruby/io.c:15847
869
+ c_body_at: references/ruby/io.c:9812
870
+ c_effects: []
871
+ purity: leaf
872
+ wait_writable:
873
+ source: c
874
+ cfunc: io_wait_writable
875
+ arity: -1
876
+ defined_at: references/ruby/io.c:15848
877
+ c_body_at: references/ruby/io.c:9836
878
+ c_effects: []
879
+ purity: leaf
880
+ wait_priority:
881
+ source: c
882
+ cfunc: io_wait_priority
883
+ arity: -1
884
+ defined_at: references/ruby/io.c:15849
885
+ c_body_at: references/ruby/io.c:9859
886
+ c_effects: []
887
+ purity: leaf
888
+ read_nonblock:
889
+ source: prelude
890
+ prelude_attrs: []
891
+ body_kind: composed
892
+ cexpr_target:
893
+ prelude_at: references/ruby/io.rb:62
894
+ purity: unknown
895
+ arity: -2
896
+ cfunc:
897
+ defined_at: references/ruby/io.rb:62
898
+ rbs:
899
+ - "(int len, ?string buf, ?exception: true) -> String"
900
+ - "(int len, ?string buf, exception: false) -> (String | :wait_readable |
901
+ nil)"
902
+ rbs_at: references/rbs/core/io.rbs:1630
903
+ write_nonblock:
904
+ source: prelude
905
+ prelude_attrs: []
906
+ body_kind: composed
907
+ cexpr_target:
908
+ prelude_at: references/ruby/io.rb:120
909
+ purity: unknown
910
+ arity: -2
911
+ cfunc:
912
+ defined_at: references/ruby/io.rb:120
913
+ rbs:
914
+ - "(_ToS s, ?exception: true) -> Integer"
915
+ - "(_ToS s, exception: false) -> (Integer | :wait_writable | nil)"
916
+ rbs_at: references/rbs/core/io.rbs:2327
917
+ readline:
918
+ source: prelude
919
+ prelude_attrs: []
920
+ body_kind: composed
921
+ cexpr_target:
922
+ prelude_at: references/ruby/io.rb:133
923
+ purity: unknown
924
+ arity: -1
925
+ cfunc:
926
+ defined_at: references/ruby/io.rb:133
927
+ rbs:
928
+ - "(?String sep, ?Integer limit, ?chomp: boolish) -> String"
929
+ rbs_at: references/rbs/core/io.rbs:1680
930
+ singleton_methods:
931
+ new:
932
+ source: c
933
+ cfunc: rb_io_s_new
934
+ arity: -1
935
+ defined_at: references/ruby/io.c:15708
936
+ c_body_at: references/ruby/io.c:9706
937
+ c_effects:
938
+ - block
939
+ purity: block_dependent
940
+ open:
941
+ source: c
942
+ cfunc: rb_io_s_open
943
+ arity: -1
944
+ defined_at: references/ruby/io.c:15709
945
+ c_body_at: references/ruby/io.c:8196
946
+ c_effects:
947
+ - block
948
+ purity: block_dependent
949
+ rbs:
950
+ - "(int fd, ?string | int mode, ?path: string?, ?external_encoding: String
951
+ | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
952
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
953
+ boolish, ?mode: String) -> instance"
954
+ - "[X] (int fd, ?string | int mode, ?path: string?, ?external_encoding: String
955
+ | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
956
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
957
+ boolish, ?mode: String) { (instance) -> X } -> X"
958
+ rbs_at: references/rbs/core/io.rbs:3051
959
+ sysopen:
960
+ source: c
961
+ cfunc: rb_io_s_sysopen
962
+ arity: -1
963
+ defined_at: references/ruby/io.c:15710
964
+ c_body_at: references/ruby/io.c:8226
965
+ c_effects: []
966
+ purity: leaf
967
+ rbs:
968
+ - "(String path, ?String mode, ?String perm) -> Integer"
969
+ rbs_at: references/rbs/core/io.rbs:2974
970
+ for_fd:
971
+ source: c
972
+ cfunc: rb_io_s_for_fd
973
+ arity: -1
974
+ defined_at: references/ruby/io.c:15711
975
+ c_body_at: references/ruby/io.c:9727
976
+ c_effects: []
977
+ purity: leaf
978
+ popen:
979
+ source: c
980
+ cfunc: rb_io_s_popen
981
+ arity: -1
982
+ defined_at: references/ruby/io.c:15712
983
+ c_body_at: references/ruby/io.c:8007
984
+ c_effects: []
985
+ purity: leaf
986
+ rbs:
987
+ - "(string | cmd_array cmd, ?string | int mode, ?path: string?, ?external_encoding:
988
+ String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
989
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
990
+ boolish, ?mode: String, ?unsetenv_others: bool, ?pgroup: true | Integer,
991
+ ?umask: Integer, ?in: Kernel::redirect_fd, ?out: Kernel::redirect_fd, ?err:
992
+ Kernel::redirect_fd, ?close_others: bool, ?chdir: String) -> instance"
993
+ - "(Hash[string, string?] env, string | cmd_array cmd, ?string | int mode,
994
+ ?path: string?, ?external_encoding: String | Encoding | nil, ?internal_encoding:
995
+ String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode:
996
+ boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String, ?unsetenv_others:
997
+ bool, ?pgroup: true | Integer, ?umask: Integer, ?in: Kernel::redirect_fd,
998
+ ?out: Kernel::redirect_fd, ?err: Kernel::redirect_fd, ?close_others: bool,
999
+ ?chdir: String) -> instance"
1000
+ - "[X] (string | cmd_array cmd, ?string | int mode, ?path: string?, ?external_encoding:
1001
+ String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
1002
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
1003
+ boolish, ?mode: String, ?unsetenv_others: bool, ?pgroup: true | Integer,
1004
+ ?umask: Integer, ?in: Kernel::redirect_fd, ?out: Kernel::redirect_fd, ?err:
1005
+ Kernel::redirect_fd, ?close_others: bool, ?chdir: String) { (instance) ->
1006
+ X } -> X"
1007
+ - "[X] (Hash[string, string?] env, string | cmd_array cmd, ?string | int mode,
1008
+ ?path: string?, ?external_encoding: String | Encoding | nil, ?internal_encoding:
1009
+ String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode:
1010
+ boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String, ?unsetenv_others:
1011
+ bool, ?pgroup: true | Integer, ?umask: Integer, ?in: Kernel::redirect_fd,
1012
+ ?out: Kernel::redirect_fd, ?err: Kernel::redirect_fd, ?close_others: bool,
1013
+ ?chdir: String) { (instance) -> X } -> X"
1014
+ rbs_at: references/rbs/core/io.rbs:2560
1015
+ foreach:
1016
+ source: c
1017
+ cfunc: rb_io_s_foreach
1018
+ arity: -1
1019
+ defined_at: references/ruby/io.c:15713
1020
+ c_body_at: references/ruby/io.c:12121
1021
+ c_effects: []
1022
+ purity: leaf
1023
+ rbs:
1024
+ - "(path path, ?String sep, ?Integer limit, ?external_encoding: String | Encoding
1025
+ | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String |
1026
+ Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish,
1027
+ ?mode: String, ?chomp: boolish) { (String line) -> void } -> nil"
1028
+ - "(path path, ?String sep, ?Integer limit, ?external_encoding: String | Encoding
1029
+ | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String |
1030
+ Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish,
1031
+ ?mode: String, ?chomp: boolish) -> ::Enumerator[String, nil]"
1032
+ rbs_at: references/rbs/core/io.rbs:2647
1033
+ readlines:
1034
+ source: c
1035
+ cfunc: rb_io_s_readlines
1036
+ arity: -1
1037
+ defined_at: references/ruby/io.c:15714
1038
+ c_body_at: references/ruby/io.c:12195
1039
+ c_effects: []
1040
+ purity: leaf
1041
+ rbs:
1042
+ - "(path name, ?String sep, ?Integer limit, ?external_encoding: String | Encoding
1043
+ | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String |
1044
+ Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish,
1045
+ ?mode: String, ?chomp: boolish) -> ::Array[String]"
1046
+ rbs_at: references/rbs/core/io.rbs:2814
1047
+ read:
1048
+ source: c
1049
+ cfunc: rb_io_s_read
1050
+ arity: -1
1051
+ defined_at: references/ruby/io.c:15715
1052
+ c_body_at: references/ruby/io.c:12270
1053
+ c_effects:
1054
+ - raises
1055
+ purity: leaf
1056
+ rbs:
1057
+ - "(path name, ?Integer? length, ?Integer offset, ?external_encoding: String
1058
+ | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding:
1059
+ String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose:
1060
+ boolish, ?mode: String) -> String"
1061
+ rbs_at: references/rbs/core/io.rbs:2765
1062
+ binread:
1063
+ source: c
1064
+ cfunc: rb_io_s_binread
1065
+ arity: -1
1066
+ defined_at: references/ruby/io.c:15716
1067
+ c_body_at: references/ruby/io.c:12308
1068
+ c_effects: []
1069
+ purity: leaf
1070
+ rbs:
1071
+ - "(path name, ?Integer? length, ?Integer offset) -> String"
1072
+ rbs_at: references/rbs/core/io.rbs:2337
1073
+ write:
1074
+ source: c
1075
+ cfunc: rb_io_s_write
1076
+ arity: -1
1077
+ defined_at: references/ruby/io.c:15717
1078
+ c_body_at: references/ruby/io.c:12439
1079
+ c_effects: []
1080
+ purity: leaf
1081
+ rbs:
1082
+ - "(path path, _ToS data, ?Integer offset, ?external_encoding: String | Encoding
1083
+ | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String |
1084
+ Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish,
1085
+ ?mode: String) -> Integer"
1086
+ rbs_at: references/rbs/core/io.rbs:3029
1087
+ binwrite:
1088
+ source: c
1089
+ cfunc: rb_io_s_binwrite
1090
+ arity: -1
1091
+ defined_at: references/ruby/io.c:15718
1092
+ c_body_at: references/ruby/io.c:12454
1093
+ c_effects: []
1094
+ purity: leaf
1095
+ rbs:
1096
+ - "(path name, _ToS string, ?Integer offset, ?mode: String mode) -> Integer"
1097
+ rbs_at: references/rbs/core/io.rbs:2346
1098
+ select:
1099
+ source: c
1100
+ cfunc: rb_f_select
1101
+ arity: -1
1102
+ defined_at: references/ruby/io.c:15719
1103
+ c_body_at: references/ruby/io.c:11158
1104
+ c_effects: []
1105
+ purity: leaf
1106
+ rbs:
1107
+ - "[X, Y, Z] (::Array[X & io]? read_array, ?::Array[Y & io]? write_array,
1108
+ ?::Array[Z & io]? error_array) -> [ Array[X], Array[Y], Array[Z] ]"
1109
+ - "[X, Y, Z] (::Array[X & io]? read_array, ?::Array[Y & io]? write_array,
1110
+ ?::Array[Z & io]? error_array, Time::_Timeout? timeout) -> [ Array[X], Array[Y],
1111
+ Array[Z] ]?"
1112
+ rbs_at: references/rbs/core/io.rbs:2957
1113
+ pipe:
1114
+ source: c
1115
+ cfunc: rb_io_s_pipe
1116
+ arity: -1
1117
+ defined_at: references/ruby/io.c:15720
1118
+ c_body_at: references/ruby/io.c:11912
1119
+ c_effects:
1120
+ - block
1121
+ purity: block_dependent
1122
+ rbs:
1123
+ - "(?String | Encoding | nil ext_or_ext_int_enc, ?String | Encoding | nil
1124
+ int_enc, ?external_encoding: String | Encoding | nil, ?internal_encoding:
1125
+ String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode:
1126
+ boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String, ?chomp:
1127
+ boolish) -> [ IO, IO ]"
1128
+ - "[X] (?String | Encoding | nil ext_or_ext_int_enc, ?String | Encoding |
1129
+ nil int_enc, ?external_encoding: String | Encoding | nil, ?internal_encoding:
1130
+ String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode:
1131
+ boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String, ?chomp:
1132
+ boolish) { (IO read_io, IO write_io) -> X } -> X"
1133
+ rbs_at: references/rbs/core/io.rbs:2726
1134
+ try_convert:
1135
+ source: c
1136
+ cfunc: rb_io_s_try_convert
1137
+ arity: 1
1138
+ defined_at: references/ruby/io.c:15721
1139
+ c_body_at: references/ruby/io.c:913
1140
+ c_effects: []
1141
+ purity: leaf
1142
+ rbs:
1143
+ - "(_ToIO obj) -> IO"
1144
+ - "(untyped obj) -> IO?"
1145
+ rbs_at: references/rbs/core/io.rbs:2987
1146
+ copy_stream:
1147
+ source: c
1148
+ cfunc: rb_io_s_copy_stream
1149
+ arity: -1
1150
+ defined_at: references/ruby/io.c:15722
1151
+ c_body_at: references/ruby/io.c:13423
1152
+ c_effects: []
1153
+ purity: leaf
1154
+ rbs:
1155
+ - "(String | _Reader | _ReaderPartial src, String | _Writer dst, ?Integer?
1156
+ copy_length, ?Integer src_offset) -> Integer"
1157
+ rbs_at: references/rbs/core/io.rbs:2398
1158
+ undefined: []
1159
+ ARGF:
1160
+ parent: Object
1161
+ defined_at: references/ruby/io.c:15880
1162
+ includes:
1163
+ - module: Enumerable
1164
+ defined_at: references/ruby/io.c:15887
1165
+ constants: {}
1166
+ aliases:
1167
+ inspect:
1168
+ old: to_s
1169
+ source: c
1170
+ defined_at: references/ruby/io.c:15892
1171
+ instance_methods:
1172
+ initialize:
1173
+ source: c
1174
+ cfunc: argf_initialize
1175
+ arity: -2
1176
+ defined_at: references/ruby/io.c:15889
1177
+ c_body_at: references/ruby/io.c:10038
1178
+ c_effects: []
1179
+ purity: leaf
1180
+ initialize_copy:
1181
+ source: c
1182
+ cfunc: argf_initialize_copy
1183
+ arity: 1
1184
+ defined_at: references/ruby/io.c:15890
1185
+ c_body_at: references/ruby/io.c:10048
1186
+ c_effects: []
1187
+ purity: leaf
1188
+ to_s:
1189
+ source: c
1190
+ cfunc: argf_to_s
1191
+ arity: 0
1192
+ defined_at: references/ruby/io.c:15891
1193
+ c_body_at: references/ruby/io.c:14543
1194
+ c_effects: []
1195
+ purity: leaf
1196
+ argv:
1197
+ source: c
1198
+ cfunc: argf_argv
1199
+ arity: 0
1200
+ defined_at: references/ruby/io.c:15893
1201
+ c_body_at: references/ruby/io.c:14633
1202
+ c_effects: []
1203
+ purity: leaf
1204
+ fileno:
1205
+ source: c
1206
+ cfunc: argf_fileno
1207
+ arity: 0
1208
+ defined_at: references/ruby/io.c:15895
1209
+ c_body_at: references/ruby/io.c:13773
1210
+ c_effects:
1211
+ - raises
1212
+ purity: leaf
1213
+ to_i:
1214
+ source: c
1215
+ cfunc: argf_fileno
1216
+ arity: 0
1217
+ defined_at: references/ruby/io.c:15896
1218
+ c_body_at: references/ruby/io.c:13773
1219
+ c_effects:
1220
+ - raises
1221
+ purity: leaf
1222
+ to_io:
1223
+ source: c
1224
+ cfunc: argf_to_io
1225
+ arity: 0
1226
+ defined_at: references/ruby/io.c:15897
1227
+ c_body_at: references/ruby/io.c:13795
1228
+ c_effects: []
1229
+ purity: leaf
1230
+ to_write_io:
1231
+ source: c
1232
+ cfunc: argf_write_io
1233
+ arity: 0
1234
+ defined_at: references/ruby/io.c:15898
1235
+ c_body_at: references/ruby/io.c:14658
1236
+ c_effects:
1237
+ - raises
1238
+ purity: leaf
1239
+ each:
1240
+ source: c
1241
+ cfunc: argf_each_line
1242
+ arity: -1
1243
+ defined_at: references/ruby/io.c:15899
1244
+ c_body_at: references/ruby/io.c:14276
1245
+ c_effects: []
1246
+ purity: leaf
1247
+ each_line:
1248
+ source: c
1249
+ cfunc: argf_each_line
1250
+ arity: -1
1251
+ defined_at: references/ruby/io.c:15900
1252
+ c_body_at: references/ruby/io.c:14276
1253
+ c_effects: []
1254
+ purity: leaf
1255
+ each_byte:
1256
+ source: c
1257
+ cfunc: argf_each_byte
1258
+ arity: 0
1259
+ defined_at: references/ruby/io.c:15901
1260
+ c_body_at: references/ruby/io.c:14307
1261
+ c_effects: []
1262
+ purity: leaf
1263
+ each_char:
1264
+ source: c
1265
+ cfunc: argf_each_char
1266
+ arity: 0
1267
+ defined_at: references/ruby/io.c:15902
1268
+ c_body_at: references/ruby/io.c:14333
1269
+ c_effects: []
1270
+ purity: leaf
1271
+ each_codepoint:
1272
+ source: c
1273
+ cfunc: argf_each_codepoint
1274
+ arity: 0
1275
+ defined_at: references/ruby/io.c:15903
1276
+ c_body_at: references/ruby/io.c:14359
1277
+ c_effects: []
1278
+ purity: leaf
1279
+ read:
1280
+ source: c
1281
+ cfunc: argf_read
1282
+ arity: -1
1283
+ defined_at: references/ruby/io.c:15905
1284
+ c_body_at: references/ruby/io.c:13884
1285
+ c_effects:
1286
+ - mutate
1287
+ purity: mutates_self
1288
+ readpartial:
1289
+ source: c
1290
+ cfunc: argf_readpartial
1291
+ arity: -1
1292
+ defined_at: references/ruby/io.c:15906
1293
+ c_body_at: references/ruby/io.c:13966
1294
+ c_effects: []
1295
+ purity: leaf
1296
+ read_nonblock:
1297
+ source: c
1298
+ cfunc: argf_read_nonblock
1299
+ arity: -1
1300
+ defined_at: references/ruby/io.c:15907
1301
+ c_body_at: references/ruby/io.c:13980
1302
+ c_effects: []
1303
+ purity: leaf
1304
+ readlines:
1305
+ source: c
1306
+ cfunc: argf_readlines
1307
+ arity: -1
1308
+ defined_at: references/ruby/io.c:15908
1309
+ c_body_at: references/ruby/io.c:10611
1310
+ c_effects:
1311
+ - mutate
1312
+ purity: mutates_self
1313
+ to_a:
1314
+ source: c
1315
+ cfunc: argf_readlines
1316
+ arity: -1
1317
+ defined_at: references/ruby/io.c:15909
1318
+ c_body_at: references/ruby/io.c:10611
1319
+ c_effects:
1320
+ - mutate
1321
+ purity: mutates_self
1322
+ gets:
1323
+ source: c
1324
+ cfunc: argf_gets
1325
+ arity: -1
1326
+ defined_at: references/ruby/io.c:15910
1327
+ c_body_at: references/ruby/io.c:10425
1328
+ c_effects: []
1329
+ purity: leaf
1330
+ readline:
1331
+ source: c
1332
+ cfunc: argf_readline
1333
+ arity: -1
1334
+ defined_at: references/ruby/io.c:15911
1335
+ c_body_at: references/ruby/io.c:10508
1336
+ c_effects: []
1337
+ purity: leaf
1338
+ getc:
1339
+ source: c
1340
+ cfunc: argf_getc
1341
+ arity: 0
1342
+ defined_at: references/ruby/io.c:15912
1343
+ c_body_at: references/ruby/io.c:14063
1344
+ c_effects: []
1345
+ purity: leaf
1346
+ getbyte:
1347
+ source: c
1348
+ cfunc: argf_getbyte
1349
+ arity: 0
1350
+ defined_at: references/ruby/io.c:15913
1351
+ c_body_at: references/ruby/io.c:14103
1352
+ c_effects: []
1353
+ purity: leaf
1354
+ readchar:
1355
+ source: c
1356
+ cfunc: argf_readchar
1357
+ arity: 0
1358
+ defined_at: references/ruby/io.c:15914
1359
+ c_body_at: references/ruby/io.c:14143
1360
+ c_effects: []
1361
+ purity: leaf
1362
+ readbyte:
1363
+ source: c
1364
+ cfunc: argf_readbyte
1365
+ arity: 0
1366
+ defined_at: references/ruby/io.c:15915
1367
+ c_body_at: references/ruby/io.c:14183
1368
+ c_effects: []
1369
+ purity: leaf
1370
+ tell:
1371
+ source: c
1372
+ cfunc: argf_tell
1373
+ arity: 0
1374
+ defined_at: references/ruby/io.c:15916
1375
+ c_body_at: references/ruby/io.c:13685
1376
+ c_effects:
1377
+ - raises
1378
+ purity: leaf
1379
+ seek:
1380
+ source: c
1381
+ cfunc: argf_seek_m
1382
+ arity: -1
1383
+ defined_at: references/ruby/io.c:15917
1384
+ c_body_at: references/ruby/io.c:13702
1385
+ c_effects:
1386
+ - raises
1387
+ purity: leaf
1388
+ rewind:
1389
+ source: c
1390
+ cfunc: argf_rewind
1391
+ arity: 0
1392
+ defined_at: references/ruby/io.c:15918
1393
+ c_body_at: references/ruby/io.c:13745
1394
+ c_effects:
1395
+ - raises
1396
+ purity: leaf
1397
+ pos:
1398
+ source: c
1399
+ cfunc: argf_tell
1400
+ arity: 0
1401
+ defined_at: references/ruby/io.c:15919
1402
+ c_body_at: references/ruby/io.c:13685
1403
+ c_effects:
1404
+ - raises
1405
+ purity: leaf
1406
+ pos=:
1407
+ source: c
1408
+ cfunc: argf_set_pos
1409
+ arity: 1
1410
+ defined_at: references/ruby/io.c:15920
1411
+ c_body_at: references/ruby/io.c:13723
1412
+ c_effects:
1413
+ - raises
1414
+ purity: leaf
1415
+ eof:
1416
+ source: c
1417
+ cfunc: argf_eof
1418
+ arity: 0
1419
+ defined_at: references/ruby/io.c:15921
1420
+ c_body_at: references/ruby/io.c:13821
1421
+ c_effects: []
1422
+ purity: leaf
1423
+ eof?:
1424
+ source: c
1425
+ cfunc: argf_eof
1426
+ arity: 0
1427
+ defined_at: references/ruby/io.c:15922
1428
+ c_body_at: references/ruby/io.c:13821
1429
+ c_effects: []
1430
+ purity: leaf
1431
+ binmode:
1432
+ source: c
1433
+ cfunc: argf_binmode_m
1434
+ arity: 0
1435
+ defined_at: references/ruby/io.c:15923
1436
+ c_body_at: references/ruby/io.c:14440
1437
+ c_effects: []
1438
+ purity: leaf
1439
+ binmode?:
1440
+ source: c
1441
+ cfunc: argf_binmode_p
1442
+ arity: 0
1443
+ defined_at: references/ruby/io.c:15924
1444
+ c_body_at: references/ruby/io.c:14463
1445
+ c_effects: []
1446
+ purity: leaf
1447
+ write:
1448
+ source: c
1449
+ cfunc: argf_write
1450
+ arity: -1
1451
+ defined_at: references/ruby/io.c:15926
1452
+ c_body_at: references/ruby/io.c:14673
1453
+ c_effects: []
1454
+ purity: leaf
1455
+ print:
1456
+ source: c
1457
+ cfunc: rb_io_print
1458
+ arity: -1
1459
+ defined_at: references/ruby/io.c:15927
1460
+ c_body_at: references/ruby/io.c:8748
1461
+ c_effects: []
1462
+ purity: leaf
1463
+ putc:
1464
+ source: c
1465
+ cfunc: rb_io_putc
1466
+ arity: 1
1467
+ defined_at: references/ruby/io.c:15928
1468
+ c_body_at: references/ruby/io.c:8853
1469
+ c_effects: []
1470
+ purity: leaf
1471
+ puts:
1472
+ source: c
1473
+ cfunc: rb_io_puts
1474
+ arity: -1
1475
+ defined_at: references/ruby/io.c:15929
1476
+ c_body_at: references/ruby/io.c:8980
1477
+ c_effects:
1478
+ - dispatch
1479
+ purity: dispatch
1480
+ printf:
1481
+ source: c
1482
+ cfunc: rb_io_printf
1483
+ arity: -1
1484
+ defined_at: references/ruby/io.c:15930
1485
+ c_body_at: references/ruby/io.c:8615
1486
+ c_effects: []
1487
+ purity: leaf
1488
+ filename:
1489
+ source: c
1490
+ cfunc: argf_filename
1491
+ arity: 0
1492
+ defined_at: references/ruby/io.c:15932
1493
+ c_body_at: references/ruby/io.c:14391
1494
+ c_effects: []
1495
+ purity: leaf
1496
+ path:
1497
+ source: c
1498
+ cfunc: argf_filename
1499
+ arity: 0
1500
+ defined_at: references/ruby/io.c:15933
1501
+ c_body_at: references/ruby/io.c:14391
1502
+ c_effects: []
1503
+ purity: leaf
1504
+ file:
1505
+ source: c
1506
+ cfunc: argf_file
1507
+ arity: 0
1508
+ defined_at: references/ruby/io.c:15934
1509
+ c_body_at: references/ruby/io.c:14422
1510
+ c_effects: []
1511
+ purity: leaf
1512
+ skip:
1513
+ source: c
1514
+ cfunc: argf_skip
1515
+ arity: 0
1516
+ defined_at: references/ruby/io.c:15935
1517
+ c_body_at: references/ruby/io.c:14483
1518
+ c_effects: []
1519
+ purity: leaf
1520
+ close:
1521
+ source: c
1522
+ cfunc: argf_close_m
1523
+ arity: 0
1524
+ defined_at: references/ruby/io.c:15936
1525
+ c_body_at: references/ruby/io.c:14510
1526
+ c_effects: []
1527
+ purity: leaf
1528
+ closed?:
1529
+ source: c
1530
+ cfunc: argf_closed
1531
+ arity: 0
1532
+ defined_at: references/ruby/io.c:15937
1533
+ c_body_at: references/ruby/io.c:14529
1534
+ c_effects: []
1535
+ purity: leaf
1536
+ lineno:
1537
+ source: c
1538
+ cfunc: argf_lineno
1539
+ arity: 0
1540
+ defined_at: references/ruby/io.c:15939
1541
+ c_body_at: references/ruby/io.c:10096
1542
+ c_effects: []
1543
+ purity: leaf
1544
+ lineno=:
1545
+ source: c
1546
+ cfunc: argf_set_lineno
1547
+ arity: 1
1548
+ defined_at: references/ruby/io.c:15940
1549
+ c_body_at: references/ruby/io.c:10075
1550
+ c_effects: []
1551
+ purity: leaf
1552
+ inplace_mode:
1553
+ source: c
1554
+ cfunc: argf_inplace_mode_get
1555
+ arity: 0
1556
+ defined_at: references/ruby/io.c:15942
1557
+ c_body_at: references/ruby/io.c:14557
1558
+ c_effects: []
1559
+ purity: leaf
1560
+ inplace_mode=:
1561
+ source: c
1562
+ cfunc: argf_inplace_mode_set
1563
+ arity: 1
1564
+ defined_at: references/ruby/io.c:15943
1565
+ c_body_at: references/ruby/io.c:14592
1566
+ c_effects: []
1567
+ purity: leaf
1568
+ external_encoding:
1569
+ source: c
1570
+ cfunc: argf_external_encoding
1571
+ arity: 0
1572
+ defined_at: references/ruby/io.c:15945
1573
+ c_body_at: references/ruby/io.c:13603
1574
+ c_effects: []
1575
+ purity: leaf
1576
+ internal_encoding:
1577
+ source: c
1578
+ cfunc: argf_internal_encoding
1579
+ arity: 0
1580
+ defined_at: references/ruby/io.c:15946
1581
+ c_body_at: references/ruby/io.c:13622
1582
+ c_effects: []
1583
+ purity: leaf
1584
+ set_encoding:
1585
+ source: c
1586
+ cfunc: argf_set_encoding
1587
+ arity: -1
1588
+ defined_at: references/ruby/io.c:15947
1589
+ c_body_at: references/ruby/io.c:13659
1590
+ c_effects:
1591
+ - raises
1592
+ purity: leaf
1593
+ singleton_methods: {}
1594
+ undefined: []