rigortype 0.0.9 → 0.1.1

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -2
  3. data/data/builtins/ruby_core/array.yml +6 -6
  4. data/data/builtins/ruby_core/hash.yml +1 -1
  5. data/data/builtins/ruby_core/io.yml +3 -3
  6. data/data/builtins/ruby_core/numeric.yml +1 -1
  7. data/data/builtins/ruby_core/pathname.yml +100 -100
  8. data/data/builtins/ruby_core/proc.yml +1 -1
  9. data/data/builtins/ruby_core/time.yml +3 -3
  10. data/lib/rigor/analysis/check_rules.rb +228 -40
  11. data/lib/rigor/analysis/diagnostic.rb +15 -1
  12. data/lib/rigor/analysis/runner.rb +269 -7
  13. data/lib/rigor/builtins/regex_refinement.rb +104 -0
  14. data/lib/rigor/cache/rbs_class_ancestor_table.rb +1 -1
  15. data/lib/rigor/cache/rbs_class_type_param_names.rb +1 -1
  16. data/lib/rigor/cache/rbs_constant_table.rb +2 -2
  17. data/lib/rigor/cache/rbs_descriptor.rb +2 -0
  18. data/lib/rigor/cache/rbs_instance_definitions.rb +79 -0
  19. data/lib/rigor/cache/store.rb +2 -0
  20. data/lib/rigor/cli/type_of_command.rb +3 -3
  21. data/lib/rigor/cli/type_scan_command.rb +4 -4
  22. data/lib/rigor/cli.rb +20 -7
  23. data/lib/rigor/configuration/severity_profile.rb +109 -0
  24. data/lib/rigor/configuration.rb +286 -15
  25. data/lib/rigor/environment/rbs_loader.rb +89 -13
  26. data/lib/rigor/environment.rb +12 -4
  27. data/lib/rigor/flow_contribution/conflict.rb +81 -0
  28. data/lib/rigor/flow_contribution/element.rb +53 -0
  29. data/lib/rigor/flow_contribution/fact.rb +88 -0
  30. data/lib/rigor/flow_contribution/merge_result.rb +67 -0
  31. data/lib/rigor/flow_contribution/merger.rb +275 -0
  32. data/lib/rigor/flow_contribution.rb +51 -0
  33. data/lib/rigor/inference/block_parameter_binder.rb +15 -0
  34. data/lib/rigor/inference/expression_typer.rb +87 -6
  35. data/lib/rigor/inference/method_dispatcher/kernel_dispatch.rb +31 -0
  36. data/lib/rigor/inference/method_dispatcher/literal_string_folding.rb +136 -9
  37. data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +21 -1
  38. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +68 -2
  39. data/lib/rigor/inference/method_dispatcher.rb +50 -1
  40. data/lib/rigor/inference/multi_target_binder.rb +2 -0
  41. data/lib/rigor/inference/narrowing.rb +246 -127
  42. data/lib/rigor/inference/scope_indexer.rb +124 -16
  43. data/lib/rigor/inference/statement_evaluator.rb +406 -37
  44. data/lib/rigor/plugin/access_denied_error.rb +24 -0
  45. data/lib/rigor/plugin/base.rb +284 -0
  46. data/lib/rigor/plugin/fact_store.rb +92 -0
  47. data/lib/rigor/plugin/io_boundary.rb +102 -0
  48. data/lib/rigor/plugin/load_error.rb +35 -0
  49. data/lib/rigor/plugin/loader.rb +307 -0
  50. data/lib/rigor/plugin/manifest.rb +203 -0
  51. data/lib/rigor/plugin/registry.rb +50 -0
  52. data/lib/rigor/plugin/services.rb +77 -0
  53. data/lib/rigor/plugin/trust_policy.rb +99 -0
  54. data/lib/rigor/plugin.rb +62 -0
  55. data/lib/rigor/rbs_extended.rb +57 -9
  56. data/lib/rigor/reflection.rb +2 -2
  57. data/lib/rigor/trinary.rb +1 -1
  58. data/lib/rigor/type/integer_range.rb +6 -2
  59. data/lib/rigor/version.rb +1 -1
  60. data/lib/rigor.rb +7 -0
  61. data/sig/rigor/environment.rbs +10 -3
  62. data/sig/rigor/inference.rbs +1 -0
  63. data/sig/rigor/rbs_extended.rbs +2 -0
  64. data/sig/rigor/scope.rbs +1 -0
  65. data/sig/rigor/type.rbs +7 -0
  66. data/sig/rigor.rbs +8 -2
  67. metadata +20 -1
@@ -69,7 +69,7 @@ classes:
69
69
  body_kind: composed
70
70
  cexpr_target:
71
71
  prelude_at: references/ruby/pathname_builtin.rb:214
72
- purity: unknown
72
+ purity: dispatch
73
73
  arity: 1
74
74
  cfunc:
75
75
  defined_at: references/ruby/pathname_builtin.rb:214
@@ -79,7 +79,7 @@ classes:
79
79
  body_kind: composed
80
80
  cexpr_target:
81
81
  prelude_at: references/ruby/pathname_builtin.rb:223
82
- purity: unknown
82
+ purity: dispatch
83
83
  arity: 0
84
84
  cfunc:
85
85
  defined_at: references/ruby/pathname_builtin.rb:223
@@ -89,7 +89,7 @@ classes:
89
89
  body_kind: composed
90
90
  cexpr_target:
91
91
  prelude_at: references/ruby/pathname_builtin.rb:234
92
- purity: unknown
92
+ purity: dispatch
93
93
  arity: 1
94
94
  cfunc:
95
95
  defined_at: references/ruby/pathname_builtin.rb:234
@@ -99,7 +99,7 @@ classes:
99
99
  body_kind: composed
100
100
  cexpr_target:
101
101
  prelude_at: references/ruby/pathname_builtin.rb:249
102
- purity: unknown
102
+ purity: dispatch
103
103
  arity: 0
104
104
  cfunc:
105
105
  defined_at: references/ruby/pathname_builtin.rb:249
@@ -109,7 +109,7 @@ classes:
109
109
  body_kind: composed
110
110
  cexpr_target:
111
111
  prelude_at: references/ruby/pathname_builtin.rb:254
112
- purity: unknown
112
+ purity: dispatch
113
113
  arity: 0
114
114
  cfunc:
115
115
  defined_at: references/ruby/pathname_builtin.rb:254
@@ -119,7 +119,7 @@ classes:
119
119
  body_kind: composed
120
120
  cexpr_target:
121
121
  prelude_at: references/ruby/pathname_builtin.rb:261
122
- purity: unknown
122
+ purity: dispatch
123
123
  arity: 0
124
124
  cfunc:
125
125
  defined_at: references/ruby/pathname_builtin.rb:261
@@ -129,7 +129,7 @@ classes:
129
129
  body_kind: composed
130
130
  cexpr_target:
131
131
  prelude_at: references/ruby/pathname_builtin.rb:292
132
- purity: unknown
132
+ purity: dispatch
133
133
  arity: 1
134
134
  cfunc:
135
135
  defined_at: references/ruby/pathname_builtin.rb:292
@@ -139,7 +139,7 @@ classes:
139
139
  body_kind: composed
140
140
  cexpr_target:
141
141
  prelude_at: references/ruby/pathname_builtin.rb:334
142
- purity: unknown
142
+ purity: dispatch
143
143
  arity: -1
144
144
  cfunc:
145
145
  defined_at: references/ruby/pathname_builtin.rb:334
@@ -149,7 +149,7 @@ classes:
149
149
  body_kind: composed
150
150
  cexpr_target:
151
151
  prelude_at: references/ruby/pathname_builtin.rb:359
152
- purity: unknown
152
+ purity: dispatch
153
153
  arity: 1
154
154
  cfunc:
155
155
  defined_at: references/ruby/pathname_builtin.rb:359
@@ -159,7 +159,7 @@ classes:
159
159
  body_kind: composed
160
160
  cexpr_target:
161
161
  prelude_at: references/ruby/pathname_builtin.rb:370
162
- purity: unknown
162
+ purity: dispatch
163
163
  arity: 1
164
164
  cfunc:
165
165
  defined_at: references/ruby/pathname_builtin.rb:370
@@ -169,7 +169,7 @@ classes:
169
169
  body_kind: composed
170
170
  cexpr_target:
171
171
  prelude_at: references/ruby/pathname_builtin.rb:380
172
- purity: unknown
172
+ purity: dispatch
173
173
  arity: 2
174
174
  cfunc:
175
175
  defined_at: references/ruby/pathname_builtin.rb:380
@@ -179,7 +179,7 @@ classes:
179
179
  body_kind: composed
180
180
  cexpr_target:
181
181
  prelude_at: references/ruby/pathname_builtin.rb:403
182
- purity: unknown
182
+ purity: dispatch
183
183
  arity: -1
184
184
  cfunc:
185
185
  defined_at: references/ruby/pathname_builtin.rb:403
@@ -189,7 +189,7 @@ classes:
189
189
  body_kind: composed
190
190
  cexpr_target:
191
191
  prelude_at: references/ruby/pathname_builtin.rb:415
192
- purity: unknown
192
+ purity: dispatch
193
193
  arity: 0
194
194
  cfunc:
195
195
  defined_at: references/ruby/pathname_builtin.rb:415
@@ -199,7 +199,7 @@ classes:
199
199
  body_kind: composed
200
200
  cexpr_target:
201
201
  prelude_at: references/ruby/pathname_builtin.rb:442
202
- purity: unknown
202
+ purity: dispatch
203
203
  arity: 1
204
204
  cfunc:
205
205
  defined_at: references/ruby/pathname_builtin.rb:442
@@ -209,7 +209,7 @@ classes:
209
209
  body_kind: composed
210
210
  cexpr_target:
211
211
  prelude_at: references/ruby/pathname_builtin.rb:453
212
- purity: unknown
212
+ purity: dispatch
213
213
  arity: 1
214
214
  cfunc:
215
215
  defined_at: references/ruby/pathname_builtin.rb:453
@@ -219,7 +219,7 @@ classes:
219
219
  body_kind: composed
220
220
  cexpr_target:
221
221
  prelude_at: references/ruby/pathname_builtin.rb:462
222
- purity: unknown
222
+ purity: dispatch
223
223
  arity: 1
224
224
  cfunc:
225
225
  defined_at: references/ruby/pathname_builtin.rb:462
@@ -229,7 +229,7 @@ classes:
229
229
  body_kind: composed
230
230
  cexpr_target:
231
231
  prelude_at: references/ruby/pathname_builtin.rb:474
232
- purity: unknown
232
+ purity: dispatch
233
233
  arity: 0
234
234
  cfunc:
235
235
  defined_at: references/ruby/pathname_builtin.rb:474
@@ -239,7 +239,7 @@ classes:
239
239
  body_kind: composed
240
240
  cexpr_target:
241
241
  prelude_at: references/ruby/pathname_builtin.rb:505
242
- purity: unknown
242
+ purity: dispatch
243
243
  arity: 0
244
244
  cfunc:
245
245
  defined_at: references/ruby/pathname_builtin.rb:505
@@ -249,7 +249,7 @@ classes:
249
249
  body_kind: composed
250
250
  cexpr_target:
251
251
  prelude_at: references/ruby/pathname_builtin.rb:510
252
- purity: unknown
252
+ purity: dispatch
253
253
  arity: 0
254
254
  cfunc:
255
255
  defined_at: references/ruby/pathname_builtin.rb:510
@@ -259,7 +259,7 @@ classes:
259
259
  body_kind: composed
260
260
  cexpr_target:
261
261
  prelude_at: references/ruby/pathname_builtin.rb:527
262
- purity: unknown
262
+ purity: dispatch
263
263
  arity: 0
264
264
  cfunc:
265
265
  defined_at: references/ruby/pathname_builtin.rb:527
@@ -269,7 +269,7 @@ classes:
269
269
  body_kind: composed
270
270
  cexpr_target:
271
271
  prelude_at: references/ruby/pathname_builtin.rb:542
272
- purity: unknown
272
+ purity: dispatch
273
273
  arity: 0
274
274
  cfunc:
275
275
  defined_at: references/ruby/pathname_builtin.rb:542
@@ -279,7 +279,7 @@ classes:
279
279
  body_kind: composed
280
280
  cexpr_target:
281
281
  prelude_at: references/ruby/pathname_builtin.rb:557
282
- purity: unknown
282
+ purity: dispatch
283
283
  arity: 0
284
284
  cfunc:
285
285
  defined_at: references/ruby/pathname_builtin.rb:557
@@ -289,7 +289,7 @@ classes:
289
289
  body_kind: composed
290
290
  cexpr_target:
291
291
  prelude_at: references/ruby/pathname_builtin.rb:574
292
- purity: unknown
292
+ purity: dispatch
293
293
  arity: 0
294
294
  cfunc:
295
295
  defined_at: references/ruby/pathname_builtin.rb:574
@@ -299,7 +299,7 @@ classes:
299
299
  body_kind: composed
300
300
  cexpr_target:
301
301
  prelude_at: references/ruby/pathname_builtin.rb:606
302
- purity: unknown
302
+ purity: dispatch
303
303
  arity: 0
304
304
  cfunc:
305
305
  defined_at: references/ruby/pathname_builtin.rb:606
@@ -309,7 +309,7 @@ classes:
309
309
  body_kind: composed
310
310
  cexpr_target:
311
311
  prelude_at: references/ruby/pathname_builtin.rb:639
312
- purity: unknown
312
+ purity: dispatch
313
313
  arity: 0
314
314
  cfunc:
315
315
  defined_at: references/ruby/pathname_builtin.rb:639
@@ -319,7 +319,7 @@ classes:
319
319
  body_kind: composed
320
320
  cexpr_target:
321
321
  prelude_at: references/ruby/pathname_builtin.rb:665
322
- purity: unknown
322
+ purity: dispatch
323
323
  arity: 1
324
324
  cfunc:
325
325
  defined_at: references/ruby/pathname_builtin.rb:665
@@ -329,7 +329,7 @@ classes:
329
329
  body_kind: composed
330
330
  cexpr_target:
331
331
  prelude_at: references/ruby/pathname_builtin.rb:671
332
- purity: unknown
332
+ purity: dispatch
333
333
  arity: 2
334
334
  cfunc:
335
335
  defined_at: references/ruby/pathname_builtin.rb:671
@@ -339,7 +339,7 @@ classes:
339
339
  body_kind: composed
340
340
  cexpr_target:
341
341
  prelude_at: references/ruby/pathname_builtin.rb:725
342
- purity: unknown
342
+ purity: dispatch
343
343
  arity: -1
344
344
  cfunc:
345
345
  defined_at: references/ruby/pathname_builtin.rb:725
@@ -349,7 +349,7 @@ classes:
349
349
  body_kind: composed
350
350
  cexpr_target:
351
351
  prelude_at: references/ruby/pathname_builtin.rb:758
352
- purity: unknown
352
+ purity: dispatch
353
353
  arity: -1
354
354
  cfunc:
355
355
  defined_at: references/ruby/pathname_builtin.rb:758
@@ -359,7 +359,7 @@ classes:
359
359
  body_kind: composed
360
360
  cexpr_target:
361
361
  prelude_at: references/ruby/pathname_builtin.rb:808
362
- purity: unknown
362
+ purity: dispatch
363
363
  arity: -1
364
364
  cfunc:
365
365
  defined_at: references/ruby/pathname_builtin.rb:808
@@ -369,7 +369,7 @@ classes:
369
369
  body_kind: composed
370
370
  cexpr_target:
371
371
  prelude_at: references/ruby/pathname_builtin.rb:826
372
- purity: unknown
372
+ purity: dispatch
373
373
  arity: 1
374
374
  cfunc:
375
375
  defined_at: references/ruby/pathname_builtin.rb:826
@@ -379,7 +379,7 @@ classes:
379
379
  body_kind: composed
380
380
  cexpr_target:
381
381
  prelude_at: references/ruby/pathname_builtin.rb:871
382
- purity: unknown
382
+ purity: dispatch
383
383
  arity: -1
384
384
  cfunc:
385
385
  defined_at: references/ruby/pathname_builtin.rb:871
@@ -389,7 +389,7 @@ classes:
389
389
  body_kind: composed
390
390
  cexpr_target:
391
391
  prelude_at: references/ruby/pathname_builtin.rb:877
392
- purity: unknown
392
+ purity: dispatch
393
393
  arity: -1
394
394
  cfunc:
395
395
  defined_at: references/ruby/pathname_builtin.rb:877
@@ -399,7 +399,7 @@ classes:
399
399
  body_kind: composed
400
400
  cexpr_target:
401
401
  prelude_at: references/ruby/pathname_builtin.rb:881
402
- purity: unknown
402
+ purity: dispatch
403
403
  arity: -1
404
404
  cfunc:
405
405
  defined_at: references/ruby/pathname_builtin.rb:881
@@ -409,7 +409,7 @@ classes:
409
409
  body_kind: composed
410
410
  cexpr_target:
411
411
  prelude_at: references/ruby/pathname_builtin.rb:884
412
- purity: unknown
412
+ purity: dispatch
413
413
  arity: -1
414
414
  cfunc:
415
415
  defined_at: references/ruby/pathname_builtin.rb:884
@@ -419,7 +419,7 @@ classes:
419
419
  body_kind: composed
420
420
  cexpr_target:
421
421
  prelude_at: references/ruby/pathname_builtin.rb:887
422
- purity: unknown
422
+ purity: dispatch
423
423
  arity: -1
424
424
  cfunc:
425
425
  defined_at: references/ruby/pathname_builtin.rb:887
@@ -429,7 +429,7 @@ classes:
429
429
  body_kind: composed
430
430
  cexpr_target:
431
431
  prelude_at: references/ruby/pathname_builtin.rb:890
432
- purity: unknown
432
+ purity: dispatch
433
433
  arity: -1
434
434
  cfunc:
435
435
  defined_at: references/ruby/pathname_builtin.rb:890
@@ -439,7 +439,7 @@ classes:
439
439
  body_kind: composed
440
440
  cexpr_target:
441
441
  prelude_at: references/ruby/pathname_builtin.rb:895
442
- purity: unknown
442
+ purity: dispatch
443
443
  arity: -1
444
444
  cfunc:
445
445
  defined_at: references/ruby/pathname_builtin.rb:895
@@ -449,7 +449,7 @@ classes:
449
449
  body_kind: composed
450
450
  cexpr_target:
451
451
  prelude_at: references/ruby/pathname_builtin.rb:898
452
- purity: unknown
452
+ purity: dispatch
453
453
  arity: 0
454
454
  cfunc:
455
455
  defined_at: references/ruby/pathname_builtin.rb:898
@@ -459,7 +459,7 @@ classes:
459
459
  body_kind: composed
460
460
  cexpr_target:
461
461
  prelude_at: references/ruby/pathname_builtin.rb:904
462
- purity: unknown
462
+ purity: dispatch
463
463
  arity: 0
464
464
  cfunc:
465
465
  defined_at: references/ruby/pathname_builtin.rb:904
@@ -469,7 +469,7 @@ classes:
469
469
  body_kind: composed
470
470
  cexpr_target:
471
471
  prelude_at: references/ruby/pathname_builtin.rb:907
472
- purity: unknown
472
+ purity: dispatch
473
473
  arity: 0
474
474
  cfunc:
475
475
  defined_at: references/ruby/pathname_builtin.rb:907
@@ -479,7 +479,7 @@ classes:
479
479
  body_kind: composed
480
480
  cexpr_target:
481
481
  prelude_at: references/ruby/pathname_builtin.rb:910
482
- purity: unknown
482
+ purity: dispatch
483
483
  arity: 0
484
484
  cfunc:
485
485
  defined_at: references/ruby/pathname_builtin.rb:910
@@ -489,7 +489,7 @@ classes:
489
489
  body_kind: composed
490
490
  cexpr_target:
491
491
  prelude_at: references/ruby/pathname_builtin.rb:913
492
- purity: unknown
492
+ purity: dispatch
493
493
  arity: 1
494
494
  cfunc:
495
495
  defined_at: references/ruby/pathname_builtin.rb:913
@@ -499,7 +499,7 @@ classes:
499
499
  body_kind: composed
500
500
  cexpr_target:
501
501
  prelude_at: references/ruby/pathname_builtin.rb:916
502
- purity: unknown
502
+ purity: dispatch
503
503
  arity: 1
504
504
  cfunc:
505
505
  defined_at: references/ruby/pathname_builtin.rb:916
@@ -509,7 +509,7 @@ classes:
509
509
  body_kind: composed
510
510
  cexpr_target:
511
511
  prelude_at: references/ruby/pathname_builtin.rb:919
512
- purity: unknown
512
+ purity: dispatch
513
513
  arity: 2
514
514
  cfunc:
515
515
  defined_at: references/ruby/pathname_builtin.rb:919
@@ -519,7 +519,7 @@ classes:
519
519
  body_kind: composed
520
520
  cexpr_target:
521
521
  prelude_at: references/ruby/pathname_builtin.rb:922
522
- purity: unknown
522
+ purity: dispatch
523
523
  arity: 2
524
524
  cfunc:
525
525
  defined_at: references/ruby/pathname_builtin.rb:922
@@ -529,7 +529,7 @@ classes:
529
529
  body_kind: composed
530
530
  cexpr_target:
531
531
  prelude_at: references/ruby/pathname_builtin.rb:926
532
- purity: unknown
532
+ purity: dispatch
533
533
  arity: -2
534
534
  cfunc:
535
535
  defined_at: references/ruby/pathname_builtin.rb:926
@@ -539,7 +539,7 @@ classes:
539
539
  body_kind: composed
540
540
  cexpr_target:
541
541
  prelude_at: references/ruby/pathname_builtin.rb:929
542
- purity: unknown
542
+ purity: dispatch
543
543
  arity: -2
544
544
  cfunc:
545
545
  defined_at: references/ruby/pathname_builtin.rb:929
@@ -549,7 +549,7 @@ classes:
549
549
  body_kind: composed
550
550
  cexpr_target:
551
551
  prelude_at: references/ruby/pathname_builtin.rb:933
552
- purity: unknown
552
+ purity: dispatch
553
553
  arity: 0
554
554
  cfunc:
555
555
  defined_at: references/ruby/pathname_builtin.rb:933
@@ -559,7 +559,7 @@ classes:
559
559
  body_kind: composed
560
560
  cexpr_target:
561
561
  prelude_at: references/ruby/pathname_builtin.rb:936
562
- purity: unknown
562
+ purity: dispatch
563
563
  arity: 1
564
564
  cfunc:
565
565
  defined_at: references/ruby/pathname_builtin.rb:936
@@ -569,7 +569,7 @@ classes:
569
569
  body_kind: composed
570
570
  cexpr_target:
571
571
  prelude_at: references/ruby/pathname_builtin.rb:939
572
- purity: unknown
572
+ purity: dispatch
573
573
  arity: -1
574
574
  cfunc:
575
575
  defined_at: references/ruby/pathname_builtin.rb:939
@@ -579,7 +579,7 @@ classes:
579
579
  body_kind: composed
580
580
  cexpr_target:
581
581
  prelude_at: references/ruby/pathname_builtin.rb:944
582
- purity: unknown
582
+ purity: dispatch
583
583
  arity: 0
584
584
  cfunc:
585
585
  defined_at: references/ruby/pathname_builtin.rb:944
@@ -589,7 +589,7 @@ classes:
589
589
  body_kind: composed
590
590
  cexpr_target:
591
591
  prelude_at: references/ruby/pathname_builtin.rb:947
592
- purity: unknown
592
+ purity: dispatch
593
593
  arity: 1
594
594
  cfunc:
595
595
  defined_at: references/ruby/pathname_builtin.rb:947
@@ -599,7 +599,7 @@ classes:
599
599
  body_kind: composed
600
600
  cexpr_target:
601
601
  prelude_at: references/ruby/pathname_builtin.rb:950
602
- purity: unknown
602
+ purity: dispatch
603
603
  arity: 0
604
604
  cfunc:
605
605
  defined_at: references/ruby/pathname_builtin.rb:950
@@ -609,7 +609,7 @@ classes:
609
609
  body_kind: composed
610
610
  cexpr_target:
611
611
  prelude_at: references/ruby/pathname_builtin.rb:953
612
- purity: unknown
612
+ purity: dispatch
613
613
  arity: 0
614
614
  cfunc:
615
615
  defined_at: references/ruby/pathname_builtin.rb:953
@@ -619,7 +619,7 @@ classes:
619
619
  body_kind: composed
620
620
  cexpr_target:
621
621
  prelude_at: references/ruby/pathname_builtin.rb:956
622
- purity: unknown
622
+ purity: dispatch
623
623
  arity: 1
624
624
  cfunc:
625
625
  defined_at: references/ruby/pathname_builtin.rb:956
@@ -629,7 +629,7 @@ classes:
629
629
  body_kind: composed
630
630
  cexpr_target:
631
631
  prelude_at: references/ruby/pathname_builtin.rb:959
632
- purity: unknown
632
+ purity: dispatch
633
633
  arity: 1
634
634
  cfunc:
635
635
  defined_at: references/ruby/pathname_builtin.rb:959
@@ -639,7 +639,7 @@ classes:
639
639
  body_kind: composed
640
640
  cexpr_target:
641
641
  prelude_at: references/ruby/pathname_builtin.rb:962
642
- purity: unknown
642
+ purity: dispatch
643
643
  arity: 2
644
644
  cfunc:
645
645
  defined_at: references/ruby/pathname_builtin.rb:962
@@ -649,7 +649,7 @@ classes:
649
649
  body_kind: composed
650
650
  cexpr_target:
651
651
  prelude_at: references/ruby/pathname_builtin.rb:969
652
- purity: unknown
652
+ purity: dispatch
653
653
  arity: 2
654
654
  cfunc:
655
655
  defined_at: references/ruby/pathname_builtin.rb:969
@@ -659,7 +659,7 @@ classes:
659
659
  body_kind: composed
660
660
  cexpr_target:
661
661
  prelude_at: references/ruby/pathname_builtin.rb:972
662
- purity: unknown
662
+ purity: dispatch
663
663
  arity: -1
664
664
  cfunc:
665
665
  defined_at: references/ruby/pathname_builtin.rb:972
@@ -669,7 +669,7 @@ classes:
669
669
  body_kind: composed
670
670
  cexpr_target:
671
671
  prelude_at: references/ruby/pathname_builtin.rb:975
672
- purity: unknown
672
+ purity: dispatch
673
673
  arity: 0
674
674
  cfunc:
675
675
  defined_at: references/ruby/pathname_builtin.rb:975
@@ -679,7 +679,7 @@ classes:
679
679
  body_kind: composed
680
680
  cexpr_target:
681
681
  prelude_at: references/ruby/pathname_builtin.rb:978
682
- purity: unknown
682
+ purity: dispatch
683
683
  arity: 0
684
684
  cfunc:
685
685
  defined_at: references/ruby/pathname_builtin.rb:978
@@ -689,7 +689,7 @@ classes:
689
689
  body_kind: composed
690
690
  cexpr_target:
691
691
  prelude_at: references/ruby/pathname_builtin.rb:981
692
- purity: unknown
692
+ purity: dispatch
693
693
  arity: -1
694
694
  cfunc:
695
695
  defined_at: references/ruby/pathname_builtin.rb:981
@@ -699,7 +699,7 @@ classes:
699
699
  body_kind: composed
700
700
  cexpr_target:
701
701
  prelude_at: references/ruby/pathname_builtin.rb:985
702
- purity: unknown
702
+ purity: dispatch
703
703
  arity: 0
704
704
  cfunc:
705
705
  defined_at: references/ruby/pathname_builtin.rb:985
@@ -709,7 +709,7 @@ classes:
709
709
  body_kind: composed
710
710
  cexpr_target:
711
711
  prelude_at: references/ruby/pathname_builtin.rb:996
712
- purity: unknown
712
+ purity: dispatch
713
713
  arity: -1
714
714
  cfunc:
715
715
  defined_at: references/ruby/pathname_builtin.rb:996
@@ -719,7 +719,7 @@ classes:
719
719
  body_kind: composed
720
720
  cexpr_target:
721
721
  prelude_at: references/ruby/pathname_builtin.rb:1003
722
- purity: unknown
722
+ purity: dispatch
723
723
  arity: -1
724
724
  cfunc:
725
725
  defined_at: references/ruby/pathname_builtin.rb:1003
@@ -729,7 +729,7 @@ classes:
729
729
  body_kind: composed
730
730
  cexpr_target:
731
731
  prelude_at: references/ruby/pathname_builtin.rb:1010
732
- purity: unknown
732
+ purity: dispatch
733
733
  arity: 0
734
734
  cfunc:
735
735
  defined_at: references/ruby/pathname_builtin.rb:1010
@@ -739,7 +739,7 @@ classes:
739
739
  body_kind: composed
740
740
  cexpr_target:
741
741
  prelude_at: references/ruby/pathname_builtin.rb:1013
742
- purity: unknown
742
+ purity: dispatch
743
743
  arity: 0
744
744
  cfunc:
745
745
  defined_at: references/ruby/pathname_builtin.rb:1013
@@ -749,7 +749,7 @@ classes:
749
749
  body_kind: composed
750
750
  cexpr_target:
751
751
  prelude_at: references/ruby/pathname_builtin.rb:1018
752
- purity: unknown
752
+ purity: dispatch
753
753
  arity: 0
754
754
  cfunc:
755
755
  defined_at: references/ruby/pathname_builtin.rb:1018
@@ -759,7 +759,7 @@ classes:
759
759
  body_kind: composed
760
760
  cexpr_target:
761
761
  prelude_at: references/ruby/pathname_builtin.rb:1027
762
- purity: unknown
762
+ purity: dispatch
763
763
  arity: 0
764
764
  cfunc:
765
765
  defined_at: references/ruby/pathname_builtin.rb:1027
@@ -769,7 +769,7 @@ classes:
769
769
  body_kind: composed
770
770
  cexpr_target:
771
771
  prelude_at: references/ruby/pathname_builtin.rb:1030
772
- purity: unknown
772
+ purity: dispatch
773
773
  arity: 0
774
774
  cfunc:
775
775
  defined_at: references/ruby/pathname_builtin.rb:1030
@@ -779,7 +779,7 @@ classes:
779
779
  body_kind: composed
780
780
  cexpr_target:
781
781
  prelude_at: references/ruby/pathname_builtin.rb:1033
782
- purity: unknown
782
+ purity: dispatch
783
783
  arity: 0
784
784
  cfunc:
785
785
  defined_at: references/ruby/pathname_builtin.rb:1033
@@ -789,7 +789,7 @@ classes:
789
789
  body_kind: composed
790
790
  cexpr_target:
791
791
  prelude_at: references/ruby/pathname_builtin.rb:1036
792
- purity: unknown
792
+ purity: dispatch
793
793
  arity: 0
794
794
  cfunc:
795
795
  defined_at: references/ruby/pathname_builtin.rb:1036
@@ -799,7 +799,7 @@ classes:
799
799
  body_kind: composed
800
800
  cexpr_target:
801
801
  prelude_at: references/ruby/pathname_builtin.rb:1039
802
- purity: unknown
802
+ purity: dispatch
803
803
  arity: 0
804
804
  cfunc:
805
805
  defined_at: references/ruby/pathname_builtin.rb:1039
@@ -809,7 +809,7 @@ classes:
809
809
  body_kind: composed
810
810
  cexpr_target:
811
811
  prelude_at: references/ruby/pathname_builtin.rb:1042
812
- purity: unknown
812
+ purity: dispatch
813
813
  arity: 0
814
814
  cfunc:
815
815
  defined_at: references/ruby/pathname_builtin.rb:1042
@@ -819,7 +819,7 @@ classes:
819
819
  body_kind: composed
820
820
  cexpr_target:
821
821
  prelude_at: references/ruby/pathname_builtin.rb:1045
822
- purity: unknown
822
+ purity: dispatch
823
823
  arity: 0
824
824
  cfunc:
825
825
  defined_at: references/ruby/pathname_builtin.rb:1045
@@ -829,7 +829,7 @@ classes:
829
829
  body_kind: composed
830
830
  cexpr_target:
831
831
  prelude_at: references/ruby/pathname_builtin.rb:1048
832
- purity: unknown
832
+ purity: dispatch
833
833
  arity: 0
834
834
  cfunc:
835
835
  defined_at: references/ruby/pathname_builtin.rb:1048
@@ -839,7 +839,7 @@ classes:
839
839
  body_kind: composed
840
840
  cexpr_target:
841
841
  prelude_at: references/ruby/pathname_builtin.rb:1051
842
- purity: unknown
842
+ purity: dispatch
843
843
  arity: 0
844
844
  cfunc:
845
845
  defined_at: references/ruby/pathname_builtin.rb:1051
@@ -849,7 +849,7 @@ classes:
849
849
  body_kind: composed
850
850
  cexpr_target:
851
851
  prelude_at: references/ruby/pathname_builtin.rb:1054
852
- purity: unknown
852
+ purity: dispatch
853
853
  arity: 0
854
854
  cfunc:
855
855
  defined_at: references/ruby/pathname_builtin.rb:1054
@@ -859,7 +859,7 @@ classes:
859
859
  body_kind: composed
860
860
  cexpr_target:
861
861
  prelude_at: references/ruby/pathname_builtin.rb:1057
862
- purity: unknown
862
+ purity: dispatch
863
863
  arity: 0
864
864
  cfunc:
865
865
  defined_at: references/ruby/pathname_builtin.rb:1057
@@ -869,7 +869,7 @@ classes:
869
869
  body_kind: composed
870
870
  cexpr_target:
871
871
  prelude_at: references/ruby/pathname_builtin.rb:1060
872
- purity: unknown
872
+ purity: dispatch
873
873
  arity: 0
874
874
  cfunc:
875
875
  defined_at: references/ruby/pathname_builtin.rb:1060
@@ -879,7 +879,7 @@ classes:
879
879
  body_kind: composed
880
880
  cexpr_target:
881
881
  prelude_at: references/ruby/pathname_builtin.rb:1063
882
- purity: unknown
882
+ purity: dispatch
883
883
  arity: 0
884
884
  cfunc:
885
885
  defined_at: references/ruby/pathname_builtin.rb:1063
@@ -889,7 +889,7 @@ classes:
889
889
  body_kind: composed
890
890
  cexpr_target:
891
891
  prelude_at: references/ruby/pathname_builtin.rb:1066
892
- purity: unknown
892
+ purity: dispatch
893
893
  arity: 0
894
894
  cfunc:
895
895
  defined_at: references/ruby/pathname_builtin.rb:1066
@@ -899,7 +899,7 @@ classes:
899
899
  body_kind: composed
900
900
  cexpr_target:
901
901
  prelude_at: references/ruby/pathname_builtin.rb:1069
902
- purity: unknown
902
+ purity: dispatch
903
903
  arity: 0
904
904
  cfunc:
905
905
  defined_at: references/ruby/pathname_builtin.rb:1069
@@ -909,7 +909,7 @@ classes:
909
909
  body_kind: composed
910
910
  cexpr_target:
911
911
  prelude_at: references/ruby/pathname_builtin.rb:1072
912
- purity: unknown
912
+ purity: dispatch
913
913
  arity: 0
914
914
  cfunc:
915
915
  defined_at: references/ruby/pathname_builtin.rb:1072
@@ -919,7 +919,7 @@ classes:
919
919
  body_kind: composed
920
920
  cexpr_target:
921
921
  prelude_at: references/ruby/pathname_builtin.rb:1075
922
- purity: unknown
922
+ purity: dispatch
923
923
  arity: 0
924
924
  cfunc:
925
925
  defined_at: references/ruby/pathname_builtin.rb:1075
@@ -929,7 +929,7 @@ classes:
929
929
  body_kind: composed
930
930
  cexpr_target:
931
931
  prelude_at: references/ruby/pathname_builtin.rb:1078
932
- purity: unknown
932
+ purity: dispatch
933
933
  arity: 0
934
934
  cfunc:
935
935
  defined_at: references/ruby/pathname_builtin.rb:1078
@@ -939,7 +939,7 @@ classes:
939
939
  body_kind: composed
940
940
  cexpr_target:
941
941
  prelude_at: references/ruby/pathname_builtin.rb:1081
942
- purity: unknown
942
+ purity: dispatch
943
943
  arity: 0
944
944
  cfunc:
945
945
  defined_at: references/ruby/pathname_builtin.rb:1081
@@ -949,7 +949,7 @@ classes:
949
949
  body_kind: composed
950
950
  cexpr_target:
951
951
  prelude_at: references/ruby/pathname_builtin.rb:1084
952
- purity: unknown
952
+ purity: dispatch
953
953
  arity: 0
954
954
  cfunc:
955
955
  defined_at: references/ruby/pathname_builtin.rb:1084
@@ -959,7 +959,7 @@ classes:
959
959
  body_kind: composed
960
960
  cexpr_target:
961
961
  prelude_at: references/ruby/pathname_builtin.rb:1087
962
- purity: unknown
962
+ purity: dispatch
963
963
  arity: 0
964
964
  cfunc:
965
965
  defined_at: references/ruby/pathname_builtin.rb:1087
@@ -969,7 +969,7 @@ classes:
969
969
  body_kind: composed
970
970
  cexpr_target:
971
971
  prelude_at: references/ruby/pathname_builtin.rb:1090
972
- purity: unknown
972
+ purity: dispatch
973
973
  arity: 0
974
974
  cfunc:
975
975
  defined_at: references/ruby/pathname_builtin.rb:1090
@@ -979,7 +979,7 @@ classes:
979
979
  body_kind: composed
980
980
  cexpr_target:
981
981
  prelude_at: references/ruby/pathname_builtin.rb:1111
982
- purity: unknown
982
+ purity: dispatch
983
983
  arity: -1
984
984
  cfunc:
985
985
  defined_at: references/ruby/pathname_builtin.rb:1111
@@ -989,7 +989,7 @@ classes:
989
989
  body_kind: composed
990
990
  cexpr_target:
991
991
  prelude_at: references/ruby/pathname_builtin.rb:1127
992
- purity: unknown
992
+ purity: dispatch
993
993
  arity: 0
994
994
  cfunc:
995
995
  defined_at: references/ruby/pathname_builtin.rb:1127
@@ -999,7 +999,7 @@ classes:
999
999
  body_kind: composed
1000
1000
  cexpr_target:
1001
1001
  prelude_at: references/ruby/pathname_builtin.rb:1133
1002
- purity: unknown
1002
+ purity: dispatch
1003
1003
  arity: 0
1004
1004
  cfunc:
1005
1005
  defined_at: references/ruby/pathname_builtin.rb:1133
@@ -1009,7 +1009,7 @@ classes:
1009
1009
  body_kind: composed
1010
1010
  cexpr_target:
1011
1011
  prelude_at: references/ruby/pathname_builtin.rb:1139
1012
- purity: unknown
1012
+ purity: dispatch
1013
1013
  arity: -1
1014
1014
  cfunc:
1015
1015
  defined_at: references/ruby/pathname_builtin.rb:1139
@@ -1019,7 +1019,7 @@ classes:
1019
1019
  body_kind: composed
1020
1020
  cexpr_target:
1021
1021
  prelude_at: references/ruby/pathname_builtin.rb:1142
1022
- purity: unknown
1022
+ purity: dispatch
1023
1023
  arity: 0
1024
1024
  cfunc:
1025
1025
  defined_at: references/ruby/pathname_builtin.rb:1142
@@ -1029,7 +1029,7 @@ classes:
1029
1029
  body_kind: composed
1030
1030
  cexpr_target:
1031
1031
  prelude_at: references/ruby/pathname_builtin.rb:1145
1032
- purity: unknown
1032
+ purity: dispatch
1033
1033
  arity: 0
1034
1034
  cfunc:
1035
1035
  defined_at: references/ruby/pathname_builtin.rb:1145
@@ -1039,7 +1039,7 @@ classes:
1039
1039
  body_kind: composed
1040
1040
  cexpr_target:
1041
1041
  prelude_at: references/ruby/pathname_builtin.rb:1153
1042
- purity: unknown
1042
+ purity: dispatch
1043
1043
  arity: 0
1044
1044
  cfunc:
1045
1045
  defined_at: references/ruby/pathname_builtin.rb:1153
@@ -1050,7 +1050,7 @@ classes:
1050
1050
  body_kind: composed
1051
1051
  cexpr_target:
1052
1052
  prelude_at: references/ruby/pathname_builtin.rb:1096
1053
- purity: unknown
1053
+ purity: dispatch
1054
1054
  arity: -1
1055
1055
  cfunc:
1056
1056
  defined_at: references/ruby/pathname_builtin.rb:1096
@@ -1060,7 +1060,7 @@ classes:
1060
1060
  body_kind: composed
1061
1061
  cexpr_target:
1062
1062
  prelude_at: references/ruby/pathname_builtin.rb:1120
1063
- purity: unknown
1063
+ purity: dispatch
1064
1064
  arity: 0
1065
1065
  cfunc:
1066
1066
  defined_at: references/ruby/pathname_builtin.rb:1120