rigortype 0.0.3 → 0.0.5

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