rigortype 0.0.2 → 0.0.4

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -7
  3. data/data/builtins/ruby_core/array.yml +1470 -0
  4. data/data/builtins/ruby_core/file.yml +501 -0
  5. data/data/builtins/ruby_core/hash.yml +936 -0
  6. data/data/builtins/ruby_core/io.yml +1594 -0
  7. data/data/builtins/ruby_core/numeric.yml +1809 -0
  8. data/data/builtins/ruby_core/range.yml +389 -0
  9. data/data/builtins/ruby_core/set.yml +594 -0
  10. data/data/builtins/ruby_core/string.yml +1850 -0
  11. data/data/builtins/ruby_core/time.yml +750 -0
  12. data/lib/rigor/analysis/check_rules.rb +97 -4
  13. data/lib/rigor/analysis/runner.rb +4 -0
  14. data/lib/rigor/builtins/imported_refinements.rb +251 -0
  15. data/lib/rigor/configuration.rb +6 -1
  16. data/lib/rigor/inference/acceptance.rb +324 -6
  17. data/lib/rigor/inference/builtins/array_catalog.rb +46 -0
  18. data/lib/rigor/inference/builtins/hash_catalog.rb +40 -0
  19. data/lib/rigor/inference/builtins/method_catalog.rb +90 -0
  20. data/lib/rigor/inference/builtins/numeric_catalog.rb +93 -0
  21. data/lib/rigor/inference/builtins/range_catalog.rb +46 -0
  22. data/lib/rigor/inference/builtins/set_catalog.rb +54 -0
  23. data/lib/rigor/inference/builtins/string_catalog.rb +39 -0
  24. data/lib/rigor/inference/builtins/time_catalog.rb +64 -0
  25. data/lib/rigor/inference/expression_typer.rb +48 -1
  26. data/lib/rigor/inference/method_dispatcher/constant_folding.rb +670 -16
  27. data/lib/rigor/inference/method_dispatcher/file_folding.rb +144 -0
  28. data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +215 -0
  29. data/lib/rigor/inference/method_dispatcher/overload_selector.rb +23 -7
  30. data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +4 -0
  31. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +240 -4
  32. data/lib/rigor/inference/method_dispatcher.rb +28 -21
  33. data/lib/rigor/inference/method_parameter_binder.rb +29 -4
  34. data/lib/rigor/inference/narrowing.rb +376 -4
  35. data/lib/rigor/inference/scope_indexer.rb +10 -2
  36. data/lib/rigor/inference/statement_evaluator.rb +213 -2
  37. data/lib/rigor/rbs_extended.rb +230 -15
  38. data/lib/rigor/scope.rb +14 -0
  39. data/lib/rigor/type/combinator.rb +159 -1
  40. data/lib/rigor/type/difference.rb +155 -0
  41. data/lib/rigor/type/integer_range.rb +137 -0
  42. data/lib/rigor/type/intersection.rb +135 -0
  43. data/lib/rigor/type/refined.rb +174 -0
  44. data/lib/rigor/type.rb +4 -0
  45. data/lib/rigor/version.rb +1 -1
  46. data/sig/rigor/rbs_extended.rbs +14 -0
  47. data/sig/rigor/scope.rbs +1 -0
  48. data/sig/rigor/type.rbs +91 -1
  49. metadata +25 -1
@@ -0,0 +1,750 @@
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/time.c
6
+ ruby_prelude: references/ruby/timev.rb
7
+ rbs:
8
+ - references/rbs/core/time.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
+ Time:
22
+ parent: Object
23
+ defined_at: references/ruby/time.c:5978
24
+ includes:
25
+ - module: Comparable
26
+ defined_at: references/ruby/time.c:5980
27
+ constants: {}
28
+ aliases:
29
+ iso8601:
30
+ old: xmlschema
31
+ source: c
32
+ defined_at: references/ruby/time.c:6054
33
+ instance_methods:
34
+ to_i:
35
+ source: c
36
+ cfunc: time_to_i
37
+ arity: 0
38
+ defined_at: references/ruby/time.c:5988
39
+ c_body_at: references/ruby/time.c:3808
40
+ c_effects: []
41
+ purity: leaf
42
+ rbs:
43
+ - "() -> Integer"
44
+ rbs_at: references/rbs/core/time.rbs:1467
45
+ to_f:
46
+ source: c
47
+ cfunc: time_to_f
48
+ arity: 0
49
+ defined_at: references/ruby/time.c:5989
50
+ c_body_at: references/ruby/time.c:3837
51
+ c_effects:
52
+ - dispatch
53
+ purity: dispatch
54
+ rbs:
55
+ - "() -> Float"
56
+ rbs_at: references/rbs/core/time.rbs:1451
57
+ to_r:
58
+ source: c
59
+ cfunc: time_to_r
60
+ arity: 0
61
+ defined_at: references/ruby/time.c:5990
62
+ c_body_at: references/ruby/time.c:3858
63
+ c_effects: []
64
+ purity: leaf
65
+ rbs:
66
+ - "() -> Rational"
67
+ rbs_at: references/rbs/core/time.rbs:1480
68
+ "<=>":
69
+ source: c
70
+ cfunc: time_cmp
71
+ arity: 1
72
+ defined_at: references/ruby/time.c:5991
73
+ c_body_at: references/ruby/time.c:3976
74
+ c_effects: []
75
+ purity: leaf
76
+ rbs:
77
+ - "(Time other) -> Integer"
78
+ - "(untyped other) -> Integer?"
79
+ rbs_at: references/rbs/core/time.rbs:823
80
+ eql?:
81
+ source: c
82
+ cfunc: time_eql
83
+ arity: 1
84
+ defined_at: references/ruby/time.c:5992
85
+ c_body_at: references/ruby/time.c:4003
86
+ c_effects:
87
+ - dispatch
88
+ purity: dispatch
89
+ rbs:
90
+ - "(untyped arg0) -> bool"
91
+ rbs_at: references/rbs/core/time.rbs:934
92
+ hash:
93
+ source: c
94
+ cfunc: time_hash
95
+ arity: 0
96
+ defined_at: references/ruby/time.c:5993
97
+ c_body_at: references/ruby/time.c:4061
98
+ c_effects: []
99
+ purity: leaf
100
+ rbs:
101
+ - "() -> Integer"
102
+ rbs_at: references/rbs/core/time.rbs:1047
103
+ initialize_copy:
104
+ source: c
105
+ cfunc: time_init_copy
106
+ arity: 1
107
+ defined_at: references/ruby/time.c:5994
108
+ c_body_at: references/ruby/time.c:4071
109
+ c_effects: []
110
+ purity: leaf
111
+ localtime:
112
+ source: c
113
+ cfunc: time_localtime_m
114
+ arity: -1
115
+ defined_at: references/ruby/time.c:5996
116
+ c_body_at: references/ruby/time.c:4170
117
+ c_effects: []
118
+ purity: leaf
119
+ rbs:
120
+ - "(?String utc_offset) -> Time"
121
+ rbs_at: references/rbs/core/time.rbs:1240
122
+ gmtime:
123
+ source: c
124
+ cfunc: time_gmtime
125
+ arity: 0
126
+ defined_at: references/ruby/time.c:5997
127
+ c_body_at: references/ruby/time.c:4196
128
+ c_effects: []
129
+ purity: leaf
130
+ rbs:
131
+ - "() -> Time"
132
+ rbs_at: references/rbs/core/time.rbs:1037
133
+ utc:
134
+ source: c
135
+ cfunc: time_gmtime
136
+ arity: 0
137
+ defined_at: references/ruby/time.c:5998
138
+ c_body_at: references/ruby/time.c:4196
139
+ c_effects: []
140
+ purity: leaf
141
+ rbs:
142
+ - "() -> Time"
143
+ rbs_at: references/rbs/core/time.rbs:1573
144
+ getlocal:
145
+ source: c
146
+ cfunc: time_getlocaltime
147
+ arity: -1
148
+ defined_at: references/ruby/time.c:5999
149
+ c_body_at: references/ruby/time.c:4271
150
+ c_effects: []
151
+ purity: leaf
152
+ rbs:
153
+ - "(?Integer utc_offset) -> Time"
154
+ rbs_at: references/rbs/core/time.rbs:978
155
+ getgm:
156
+ source: c
157
+ cfunc: time_getgmtime
158
+ arity: 0
159
+ defined_at: references/ruby/time.c:6000
160
+ c_body_at: references/ruby/time.c:4318
161
+ c_effects: []
162
+ purity: leaf
163
+ rbs:
164
+ - "() -> Time"
165
+ rbs_at: references/rbs/core/time.rbs:962
166
+ getutc:
167
+ source: c
168
+ cfunc: time_getgmtime
169
+ arity: 0
170
+ defined_at: references/ruby/time.c:6001
171
+ c_body_at: references/ruby/time.c:4318
172
+ c_effects: []
173
+ purity: leaf
174
+ rbs:
175
+ - "() -> Time"
176
+ rbs_at: references/rbs/core/time.rbs:990
177
+ ctime:
178
+ source: c
179
+ cfunc: time_asctime
180
+ arity: 0
181
+ defined_at: references/ruby/time.c:6003
182
+ c_body_at: references/ruby/time.c:4356
183
+ c_effects: []
184
+ purity: leaf
185
+ rbs:
186
+ - "() -> String"
187
+ rbs_at: references/rbs/core/time.rbs:865
188
+ asctime:
189
+ source: c
190
+ cfunc: time_asctime
191
+ arity: 0
192
+ defined_at: references/ruby/time.c:6004
193
+ c_body_at: references/ruby/time.c:4356
194
+ c_effects: []
195
+ purity: leaf
196
+ rbs:
197
+ - "() -> String"
198
+ rbs_at: references/rbs/core/time.rbs:845
199
+ to_s:
200
+ source: c
201
+ cfunc: time_to_s
202
+ arity: 0
203
+ defined_at: references/ruby/time.c:6005
204
+ c_body_at: references/ruby/time.c:4378
205
+ c_effects: []
206
+ purity: leaf
207
+ rbs:
208
+ - "() -> String"
209
+ rbs_at: references/rbs/core/time.rbs:1496
210
+ inspect:
211
+ source: c
212
+ cfunc: time_inspect
213
+ arity: 0
214
+ defined_at: references/ruby/time.c:6006
215
+ c_body_at: references/ruby/time.c:4406
216
+ c_effects:
217
+ - mutate
218
+ - dispatch
219
+ purity: mutates_self
220
+ rbs:
221
+ - "() -> String"
222
+ rbs_at: references/rbs/core/time.rbs:1182
223
+ to_a:
224
+ source: c
225
+ cfunc: time_to_a
226
+ arity: 0
227
+ defined_at: references/ruby/time.c:6007
228
+ c_body_at: references/ruby/time.c:5110
229
+ c_effects: []
230
+ purity: leaf
231
+ rbs:
232
+ - "() -> [ Integer, Integer, Integer, Integer, Integer, Integer, Integer,
233
+ Integer, bool, String? ]"
234
+ rbs_at: references/rbs/core/time.rbs:1432
235
+ deconstruct_keys:
236
+ source: c
237
+ cfunc: time_deconstruct_keys
238
+ arity: 1
239
+ defined_at: references/ruby/time.c:6008
240
+ c_body_at: references/ruby/time.c:5165
241
+ c_effects:
242
+ - mutate
243
+ - raises
244
+ purity: mutates_self
245
+ rbs:
246
+ - "(Array[Symbol]?) -> Hash[Symbol, Integer]"
247
+ rbs_at: references/rbs/core/time.rbs:913
248
+ "+":
249
+ source: c
250
+ cfunc: time_plus
251
+ arity: 1
252
+ defined_at: references/ruby/time.c:6010
253
+ c_body_at: references/ruby/time.c:4482
254
+ c_effects:
255
+ - raises
256
+ purity: leaf
257
+ rbs:
258
+ - "(Numeric arg0) -> Time"
259
+ rbs_at: references/rbs/core/time.rbs:769
260
+ "-":
261
+ source: c
262
+ cfunc: time_minus
263
+ arity: 1
264
+ defined_at: references/ruby/time.c:6011
265
+ c_body_at: references/ruby/time.c:4516
266
+ c_effects:
267
+ - dispatch
268
+ purity: dispatch
269
+ rbs:
270
+ - "(Time arg0) -> Float"
271
+ - "(Numeric arg0) -> Time"
272
+ rbs_at: references/rbs/core/time.rbs:790
273
+ round:
274
+ source: c
275
+ cfunc: time_round
276
+ arity: -1
277
+ defined_at: references/ruby/time.c:6013
278
+ c_body_at: references/ruby/time.c:4574
279
+ c_effects: []
280
+ purity: leaf
281
+ rbs:
282
+ - "(?int ndigits) -> Time"
283
+ rbs_at: references/rbs/core/time.rbs:1335
284
+ floor:
285
+ source: c
286
+ cfunc: time_floor
287
+ arity: -1
288
+ defined_at: references/ruby/time.c:6014
289
+ c_body_at: references/ruby/time.c:4622
290
+ c_effects: []
291
+ purity: leaf
292
+ rbs:
293
+ - "(?int ndigits) -> Time"
294
+ rbs_at: references/rbs/core/time.rbs:1761
295
+ ceil:
296
+ source: c
297
+ cfunc: time_ceil
298
+ arity: -1
299
+ defined_at: references/ruby/time.c:6015
300
+ c_body_at: references/ruby/time.c:4667
301
+ c_effects:
302
+ - dispatch
303
+ purity: dispatch
304
+ rbs:
305
+ - "(?int ndigits) -> Time"
306
+ rbs_at: references/rbs/core/time.rbs:1788
307
+ sec:
308
+ source: c
309
+ cfunc: time_sec
310
+ arity: 0
311
+ defined_at: references/ruby/time.c:6017
312
+ c_body_at: references/ruby/time.c:4705
313
+ c_effects: []
314
+ purity: leaf
315
+ rbs:
316
+ - "() -> Integer"
317
+ rbs_at: references/rbs/core/time.rbs:1365
318
+ min:
319
+ source: c
320
+ cfunc: time_min
321
+ arity: 0
322
+ defined_at: references/ruby/time.c:6018
323
+ c_body_at: references/ruby/time.c:4729
324
+ c_effects: []
325
+ purity: leaf
326
+ rbs:
327
+ - "() -> Integer"
328
+ rbs_at: references/rbs/core/time.rbs:1268
329
+ hour:
330
+ source: c
331
+ cfunc: time_hour
332
+ arity: 0
333
+ defined_at: references/ruby/time.c:6019
334
+ c_body_at: references/ruby/time.c:4753
335
+ c_effects: []
336
+ purity: leaf
337
+ rbs:
338
+ - "() -> Integer"
339
+ rbs_at: references/rbs/core/time.rbs:1061
340
+ mday:
341
+ source: c
342
+ cfunc: time_mday
343
+ arity: 0
344
+ defined_at: references/ruby/time.c:6020
345
+ c_body_at: references/ruby/time.c:4777
346
+ c_effects: []
347
+ purity: leaf
348
+ rbs:
349
+ - "() -> Integer"
350
+ rbs_at: references/rbs/core/time.rbs:1254
351
+ day:
352
+ source: c
353
+ cfunc: time_mday
354
+ arity: 0
355
+ defined_at: references/ruby/time.c:6021
356
+ c_body_at: references/ruby/time.c:4777
357
+ c_effects: []
358
+ purity: leaf
359
+ rbs:
360
+ - "() -> Integer"
361
+ rbs_at: references/rbs/core/time.rbs:876
362
+ mon:
363
+ source: c
364
+ cfunc: time_mon
365
+ arity: 0
366
+ defined_at: references/ruby/time.c:6022
367
+ c_body_at: references/ruby/time.c:4801
368
+ c_effects: []
369
+ purity: leaf
370
+ rbs:
371
+ - "() -> Integer"
372
+ rbs_at: references/rbs/core/time.rbs:1282
373
+ month:
374
+ source: c
375
+ cfunc: time_mon
376
+ arity: 0
377
+ defined_at: references/ruby/time.c:6023
378
+ c_body_at: references/ruby/time.c:4801
379
+ c_effects: []
380
+ purity: leaf
381
+ rbs:
382
+ - "() -> Integer"
383
+ rbs_at: references/rbs/core/time.rbs:1734
384
+ year:
385
+ source: c
386
+ cfunc: time_year
387
+ arity: 0
388
+ defined_at: references/ruby/time.c:6024
389
+ c_body_at: references/ruby/time.c:4824
390
+ c_effects: []
391
+ purity: leaf
392
+ rbs:
393
+ - "() -> Integer"
394
+ rbs_at: references/rbs/core/time.rbs:1688
395
+ wday:
396
+ source: c
397
+ cfunc: time_wday
398
+ arity: 0
399
+ defined_at: references/ruby/time.c:6025
400
+ c_body_at: references/ruby/time.c:4849
401
+ c_effects: []
402
+ purity: leaf
403
+ rbs:
404
+ - "() -> Integer"
405
+ rbs_at: references/rbs/core/time.rbs:1624
406
+ yday:
407
+ source: c
408
+ cfunc: time_yday
409
+ arity: 0
410
+ defined_at: references/ruby/time.c:6026
411
+ c_body_at: references/ruby/time.c:4999
412
+ c_effects: []
413
+ purity: leaf
414
+ rbs:
415
+ - "() -> Integer"
416
+ rbs_at: references/rbs/core/time.rbs:1674
417
+ isdst:
418
+ source: c
419
+ cfunc: time_isdst
420
+ arity: 0
421
+ defined_at: references/ruby/time.c:6027
422
+ c_body_at: references/ruby/time.c:5024
423
+ c_effects:
424
+ - raises
425
+ purity: leaf
426
+ rbs:
427
+ - "() -> bool"
428
+ rbs_at: references/rbs/core/time.rbs:1197
429
+ dst?:
430
+ source: c
431
+ cfunc: time_isdst
432
+ arity: 0
433
+ defined_at: references/ruby/time.c:6028
434
+ c_body_at: references/ruby/time.c:5024
435
+ c_effects:
436
+ - raises
437
+ purity: leaf
438
+ rbs:
439
+ - "() -> bool"
440
+ rbs_at: references/rbs/core/time.rbs:925
441
+ zone:
442
+ source: c
443
+ cfunc: time_zone
444
+ arity: 0
445
+ defined_at: references/ruby/time.c:6029
446
+ c_body_at: references/ruby/time.c:5047
447
+ c_effects: []
448
+ purity: leaf
449
+ rbs:
450
+ - "() -> String?"
451
+ rbs_at: references/rbs/core/time.rbs:1699
452
+ gmtoff:
453
+ source: c
454
+ cfunc: rb_time_utc_offset
455
+ arity: 0
456
+ defined_at: references/ruby/time.c:6030
457
+ c_body_at: references/ruby/time.c:5079
458
+ c_effects: []
459
+ purity: leaf
460
+ rbs:
461
+ - "() -> Integer"
462
+ rbs_at: references/rbs/core/time.rbs:1723
463
+ gmt_offset:
464
+ source: c
465
+ cfunc: rb_time_utc_offset
466
+ arity: 0
467
+ defined_at: references/ruby/time.c:6031
468
+ c_body_at: references/ruby/time.c:5079
469
+ c_effects: []
470
+ purity: leaf
471
+ rbs:
472
+ - "() -> Integer"
473
+ rbs_at: references/rbs/core/time.rbs:1022
474
+ utc_offset:
475
+ source: c
476
+ cfunc: rb_time_utc_offset
477
+ arity: 0
478
+ defined_at: references/ruby/time.c:6032
479
+ c_body_at: references/ruby/time.c:5079
480
+ c_effects: []
481
+ purity: leaf
482
+ rbs:
483
+ - "() -> Integer"
484
+ rbs_at: references/rbs/core/time.rbs:1608
485
+ utc?:
486
+ source: c
487
+ cfunc: time_utc_p
488
+ arity: 0
489
+ defined_at: references/ruby/time.c:6034
490
+ c_body_at: references/ruby/time.c:4043
491
+ c_effects: []
492
+ purity: leaf
493
+ rbs:
494
+ - "() -> bool"
495
+ rbs_at: references/rbs/core/time.rbs:1600
496
+ gmt?:
497
+ source: c
498
+ cfunc: time_utc_p
499
+ arity: 0
500
+ defined_at: references/ruby/time.c:6035
501
+ c_body_at: references/ruby/time.c:4043
502
+ c_effects: []
503
+ purity: leaf
504
+ rbs:
505
+ - "() -> bool"
506
+ rbs_at: references/rbs/core/time.rbs:1014
507
+ sunday?:
508
+ source: c
509
+ cfunc: time_sunday
510
+ arity: 0
511
+ defined_at: references/ruby/time.c:6037
512
+ c_body_at: references/ruby/time.c:4875
513
+ c_effects: []
514
+ purity: leaf
515
+ rbs:
516
+ - "() -> bool"
517
+ rbs_at: references/rbs/core/time.rbs:1404
518
+ monday?:
519
+ source: c
520
+ cfunc: time_monday
521
+ arity: 0
522
+ defined_at: references/ruby/time.c:6038
523
+ c_body_at: references/ruby/time.c:4893
524
+ c_effects: []
525
+ purity: leaf
526
+ rbs:
527
+ - "() -> bool"
528
+ rbs_at: references/rbs/core/time.rbs:1295
529
+ tuesday?:
530
+ source: c
531
+ cfunc: time_tuesday
532
+ arity: 0
533
+ defined_at: references/ruby/time.c:6039
534
+ c_body_at: references/ruby/time.c:4911
535
+ c_effects: []
536
+ purity: leaf
537
+ rbs:
538
+ - "() -> bool"
539
+ rbs_at: references/rbs/core/time.rbs:1509
540
+ wednesday?:
541
+ source: c
542
+ cfunc: time_wednesday
543
+ arity: 0
544
+ defined_at: references/ruby/time.c:6040
545
+ c_body_at: references/ruby/time.c:4929
546
+ c_effects: []
547
+ purity: leaf
548
+ rbs:
549
+ - "() -> bool"
550
+ rbs_at: references/rbs/core/time.rbs:1637
551
+ thursday?:
552
+ source: c
553
+ cfunc: time_thursday
554
+ arity: 0
555
+ defined_at: references/ruby/time.c:6041
556
+ c_body_at: references/ruby/time.c:4947
557
+ c_effects: []
558
+ purity: leaf
559
+ rbs:
560
+ - "() -> bool"
561
+ rbs_at: references/rbs/core/time.rbs:1417
562
+ friday?:
563
+ source: c
564
+ cfunc: time_friday
565
+ arity: 0
566
+ defined_at: references/ruby/time.c:6042
567
+ c_body_at: references/ruby/time.c:4965
568
+ c_effects: []
569
+ purity: leaf
570
+ rbs:
571
+ - "() -> bool"
572
+ rbs_at: references/rbs/core/time.rbs:947
573
+ saturday?:
574
+ source: c
575
+ cfunc: time_saturday
576
+ arity: 0
577
+ defined_at: references/ruby/time.c:6043
578
+ c_body_at: references/ruby/time.c:4983
579
+ c_effects: []
580
+ purity: leaf
581
+ rbs:
582
+ - "() -> bool"
583
+ rbs_at: references/rbs/core/time.rbs:1348
584
+ tv_sec:
585
+ source: c
586
+ cfunc: time_to_i
587
+ arity: 0
588
+ defined_at: references/ruby/time.c:6045
589
+ c_body_at: references/ruby/time.c:3808
590
+ c_effects: []
591
+ purity: leaf
592
+ rbs:
593
+ - "() -> Integer"
594
+ rbs_at: references/rbs/core/time.rbs:1536
595
+ tv_usec:
596
+ source: c
597
+ cfunc: time_usec
598
+ arity: 0
599
+ defined_at: references/ruby/time.c:6046
600
+ c_body_at: references/ruby/time.c:3886
601
+ c_effects:
602
+ - dispatch
603
+ purity: dispatch
604
+ rbs:
605
+ - "() -> Integer"
606
+ rbs_at: references/rbs/core/time.rbs:1550
607
+ usec:
608
+ source: c
609
+ cfunc: time_usec
610
+ arity: 0
611
+ defined_at: references/ruby/time.c:6047
612
+ c_body_at: references/ruby/time.c:3886
613
+ c_effects:
614
+ - dispatch
615
+ purity: dispatch
616
+ rbs:
617
+ - "() -> Integer"
618
+ rbs_at: references/rbs/core/time.rbs:1561
619
+ tv_nsec:
620
+ source: c
621
+ cfunc: time_nsec
622
+ arity: 0
623
+ defined_at: references/ruby/time.c:6048
624
+ c_body_at: references/ruby/time.c:3913
625
+ c_effects:
626
+ - dispatch
627
+ purity: dispatch
628
+ rbs:
629
+ - "() -> Integer"
630
+ rbs_at: references/rbs/core/time.rbs:1523
631
+ nsec:
632
+ source: c
633
+ cfunc: time_nsec
634
+ arity: 0
635
+ defined_at: references/ruby/time.c:6049
636
+ c_body_at: references/ruby/time.c:3913
637
+ c_effects:
638
+ - dispatch
639
+ purity: dispatch
640
+ rbs:
641
+ - "() -> Integer"
642
+ rbs_at: references/rbs/core/time.rbs:1306
643
+ subsec:
644
+ source: c
645
+ cfunc: time_subsec
646
+ arity: 0
647
+ defined_at: references/ruby/time.c:6050
648
+ c_body_at: references/ruby/time.c:3939
649
+ c_effects: []
650
+ purity: leaf
651
+ rbs:
652
+ - "() -> (0 | Rational)"
653
+ rbs_at: references/rbs/core/time.rbs:1391
654
+ strftime:
655
+ source: c
656
+ cfunc: time_strftime
657
+ arity: 1
658
+ defined_at: references/ruby/time.c:6052
659
+ c_body_at: references/ruby/time.c:5262
660
+ c_effects:
661
+ - raises
662
+ purity: leaf
663
+ rbs:
664
+ - "(String arg0) -> String"
665
+ rbs_at: references/rbs/core/time.rbs:1375
666
+ xmlschema:
667
+ source: c
668
+ cfunc: time_xmlschema
669
+ arity: -1
670
+ defined_at: references/ruby/time.c:6053
671
+ c_body_at: references/ruby/time.c:5315
672
+ c_effects:
673
+ - mutate
674
+ - dispatch
675
+ purity: mutates_self
676
+ rbs:
677
+ - "(?Integer fraction_digits) -> String"
678
+ rbs_at: references/rbs/core/time.rbs:1663
679
+ initialize:
680
+ source: prelude
681
+ prelude_attrs: []
682
+ body_kind: composed
683
+ cexpr_target:
684
+ prelude_at: references/ruby/timev.rb:440
685
+ purity: unknown
686
+ arity: -1
687
+ cfunc:
688
+ defined_at: references/ruby/timev.rb:440
689
+ rbs:
690
+ - "(?Integer year, ?Integer? month, ?Integer? day, ?Integer? hour, ?Integer?
691
+ min, ?Numeric? sec, ?String | Integer | nil) -> void"
692
+ - "(?Integer year, ?Integer? month, ?Integer? day, ?Integer? hour, ?Integer?
693
+ min, ?Numeric? sec, in: String | Integer | nil) -> void"
694
+ - "(String, ?in: string | int | nil, ?precision: int) -> void"
695
+ rbs_at: references/rbs/core/time.rbs:1164
696
+ singleton_methods:
697
+ utc:
698
+ source: c
699
+ cfunc: time_s_mkutc
700
+ arity: -1
701
+ defined_at: references/ruby/time.c:5983
702
+ c_body_at: references/ruby/time.c:3757
703
+ c_effects: []
704
+ purity: leaf
705
+ rbs:
706
+ - "(Integer year, ?Integer | String month, ?Integer day, ?Integer hour, ?Integer
707
+ min, ?Numeric sec, ?Numeric usec_with_frac) -> Time"
708
+ rbs_at: references/rbs/core/time.rbs:754
709
+ local:
710
+ source: c
711
+ cfunc: time_s_mktime
712
+ arity: -1
713
+ defined_at: references/ruby/time.c:5984
714
+ c_body_at: references/ruby/time.c:3783
715
+ c_effects: []
716
+ purity: leaf
717
+ rbs:
718
+ - "(Integer year, ?Integer | String month, ?Integer day, ?Integer hour, ?Integer
719
+ min, ?Numeric sec, ?Numeric usec_with_frac) -> Time"
720
+ rbs_at: references/rbs/core/time.rbs:641
721
+ now:
722
+ source: prelude
723
+ prelude_attrs: []
724
+ body_kind: composed
725
+ cexpr_target:
726
+ prelude_at: references/ruby/timev.rb:270
727
+ purity: unknown
728
+ arity: -1
729
+ cfunc:
730
+ defined_at: references/ruby/timev.rb:270
731
+ rbs:
732
+ - "(?in: String | Integer | nil) -> Time"
733
+ rbs_at: references/rbs/core/time.rbs:656
734
+ at:
735
+ source: prelude
736
+ prelude_attrs: []
737
+ body_kind: composed
738
+ cexpr_target:
739
+ prelude_at: references/ruby/timev.rb:329
740
+ purity: unknown
741
+ arity: -2
742
+ cfunc:
743
+ defined_at: references/ruby/timev.rb:329
744
+ rbs:
745
+ - "(Time, ?in: String | Integer | nil) -> Time"
746
+ - "(Numeric, ?in: String | Integer | nil) -> Time"
747
+ - "(Integer sec_i, Numeric msec, subsec_unit msec, ?in: String | Integer |
748
+ nil) -> Time"
749
+ rbs_at: references/rbs/core/time.rbs:526
750
+ undefined: []