rigortype 0.3.2 → 0.3.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/data/builtins/ruby_core/array.yml +11 -24
- data/data/builtins/ruby_core/enumerable.yml +4 -8
- data/data/builtins/ruby_core/exception.yml +6 -9
- data/data/builtins/ruby_core/hash.yml +13 -20
- data/data/builtins/ruby_core/io.yml +6 -9
- data/data/builtins/ruby_core/numeric.yml +2 -3
- data/data/builtins/ruby_core/proc.yml +4 -8
- data/data/builtins/ruby_core/re.yml +6 -9
- data/data/builtins/ruby_core/set.yml +2 -3
- data/data/builtins/ruby_core/string.yml +4 -7
- data/data/builtins/ruby_core/struct.yml +0 -6
- data/data/builtins/ruby_core/time.yml +3 -6
- data/data/effects/core.yml +843 -0
- data/data/effects/registry.yml +67 -0
- data/docs/handbook/07-rbs-and-extended.md +106 -5
- data/docs/manual/02-cli-reference.md +311 -1
- data/docs/manual/03-configuration.md +84 -1
- data/docs/manual/04-diagnostics.md +14 -2
- data/docs/manual/16-rbs-extended-annotations.md +77 -0
- data/docs/manual/18-removing-dead-code.md +326 -0
- data/docs/manual/README.md +5 -0
- data/docs/manual/plugins/rigor-actionmailer.md +5 -0
- data/docs/manual/plugins/rigor-activejob.md +47 -0
- data/docs/manual/plugins/rigor-factorybot.md +16 -0
- data/docs/manual/plugins/rigor-pundit.md +26 -0
- data/docs/manual/plugins/rigor-rails-routes.md +41 -2
- data/docs/manual/plugins/rigor-rspec-rails.md +5 -0
- data/docs/manual/plugins/rigor-rspec.md +8 -0
- data/docs/manual/plugins/rigor-sidekiq.md +54 -0
- data/lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb +8 -0
- data/lib/rigor/analysis/check_rules/declaration_sourced_guard.rb +53 -0
- data/lib/rigor/analysis/check_rules/rule_ids.rb +28 -2
- data/lib/rigor/analysis/check_rules/rule_walk.rb +7 -0
- data/lib/rigor/analysis/check_rules.rb +62 -22
- data/lib/rigor/analysis/incremental_session.rb +140 -6
- data/lib/rigor/analysis/reachability/graph.rb +244 -0
- data/lib/rigor/analysis/reachability/plugin_roots.rb +164 -0
- data/lib/rigor/analysis/reachability/project_files.rb +58 -0
- data/lib/rigor/analysis/reachability/scan.rb +241 -0
- data/lib/rigor/analysis/reachability/signature_scan.rb +134 -0
- data/lib/rigor/analysis/rule_catalog.rb +163 -1
- data/lib/rigor/analysis/run_cache_key.rb +16 -0
- data/lib/rigor/analysis/runner/declaration_position.rb +54 -0
- data/lib/rigor/analysis/runner/effect_annotation_residual_pass.rb +108 -0
- data/lib/rigor/analysis/runner/effect_envelope_pass.rb +358 -0
- data/lib/rigor/analysis/runner/envelope_messages.rb +61 -0
- data/lib/rigor/analysis/runner/pool_coordinator.rb +68 -10
- data/lib/rigor/analysis/runner.rb +420 -10
- data/lib/rigor/analysis/severity_stamp.rb +2 -1
- data/lib/rigor/analysis/worker_session.rb +58 -2
- data/lib/rigor/bleeding_edge.rb +22 -0
- data/lib/rigor/cache/incremental_snapshot.rb +24 -5
- data/lib/rigor/cli/check_command.rb +13 -1
- data/lib/rigor/cli/check_runner_factory.rb +4 -1
- data/lib/rigor/cli/effects_command.rb +131 -0
- data/lib/rigor/cli/effects_diff_renderer.rb +123 -0
- data/lib/rigor/cli/effects_explain_renderer.rb +68 -0
- data/lib/rigor/cli/effects_renderer.rb +54 -0
- data/lib/rigor/cli/effects_report.rb +53 -0
- data/lib/rigor/cli/effects_snapshot_command.rb +256 -0
- data/lib/rigor/cli/unused_command.rb +288 -0
- data/lib/rigor/cli.rb +16 -0
- data/lib/rigor/configuration/severity_profile.rb +23 -0
- data/lib/rigor/configuration.rb +296 -14
- data/lib/rigor/effects/attribution.rb +76 -0
- data/lib/rigor/effects/catalog.rb +275 -0
- data/lib/rigor/effects/collector.rb +182 -0
- data/lib/rigor/effects/config_envelopes.rb +185 -0
- data/lib/rigor/effects/discharge.rb +69 -0
- data/lib/rigor/effects/effect_table.rb +92 -0
- data/lib/rigor/effects/entry_points.rb +93 -0
- data/lib/rigor/effects/envelope.rb +86 -0
- data/lib/rigor/effects/envelope_check.rb +172 -0
- data/lib/rigor/effects/envelope_index.rb +157 -0
- data/lib/rigor/effects/file_collection.rb +160 -0
- data/lib/rigor/effects/framework_units.rb +167 -0
- data/lib/rigor/effects/identity.rb +104 -0
- data/lib/rigor/effects/label.rb +77 -0
- data/lib/rigor/effects/label_intent.rb +73 -0
- data/lib/rigor/effects/label_set.rb +136 -0
- data/lib/rigor/effects/liskov_check.rb +167 -0
- data/lib/rigor/effects/local_ownership.rb +132 -0
- data/lib/rigor/effects/method_key.rb +40 -0
- data/lib/rigor/effects/mutation_classifier.rb +92 -0
- data/lib/rigor/effects/narrowing.rb +202 -0
- data/lib/rigor/effects/origin.rb +66 -0
- data/lib/rigor/effects/path_finder.rb +89 -0
- data/lib/rigor/effects/plugin_facts.rb +335 -0
- data/lib/rigor/effects/propagator.rb +275 -0
- data/lib/rigor/effects/registry.rb +193 -0
- data/lib/rigor/effects/scanner.rb +290 -0
- data/lib/rigor/effects/signature_sources.rb +74 -0
- data/lib/rigor/effects/snapshot.rb +380 -0
- data/lib/rigor/effects/snapshot_diff.rb +265 -0
- data/lib/rigor/effects/summary.rb +154 -0
- data/lib/rigor/effects/taint_cause.rb +38 -0
- data/lib/rigor/effects/unit_scan.rb +572 -0
- data/lib/rigor/effects/unknown_label_check.rb +86 -0
- data/lib/rigor/effects/unknown_label_report.rb +59 -0
- data/lib/rigor/effects.rb +47 -0
- data/lib/rigor/environment/rbs_loader.rb +34 -0
- data/lib/rigor/environment.rb +8 -1
- data/lib/rigor/flow_contribution/element.rb +1 -0
- data/lib/rigor/flow_contribution/merge_result.rb +5 -3
- data/lib/rigor/flow_contribution/merger.rb +16 -1
- data/lib/rigor/flow_contribution.rb +20 -4
- data/lib/rigor/inference/anonymous_meta_class.rb +81 -0
- data/lib/rigor/inference/expression_typer.rb +74 -17
- data/lib/rigor/inference/fork_map.rb +45 -11
- data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +147 -17
- data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +97 -2
- data/lib/rigor/inference/method_dispatcher.rb +41 -10
- data/lib/rigor/inference/optimistic_origin.rb +68 -3
- data/lib/rigor/inference/pre_eval_constants.rb +189 -0
- data/lib/rigor/inference/scope_indexer.rb +134 -31
- data/lib/rigor/inference/singleton_object_constant.rb +63 -0
- data/lib/rigor/inference/statement_evaluator.rb +25 -12
- data/lib/rigor/plugin/base.rb +24 -0
- data/lib/rigor/plugin/effect_attribution.rb +208 -0
- data/lib/rigor/plugin/effect_edge.rb +101 -0
- data/lib/rigor/plugin/effect_entry_points.rb +51 -0
- data/lib/rigor/plugin/first_party.rb +57 -0
- data/lib/rigor/plugin/isolation.rb +4 -1
- data/lib/rigor/plugin/manifest.rb +103 -3
- data/lib/rigor/plugin/node_rule_walk.rb +6 -0
- data/lib/rigor/plugin/registry.rb +48 -0
- data/lib/rigor/plugin.rb +1 -0
- data/lib/rigor/protection/closure_kill_oracle.rb +20 -1
- data/lib/rigor/rbs_extended/envelope_scanner.rb +160 -0
- data/lib/rigor/rbs_extended.rb +168 -0
- data/lib/rigor/reflection.rb +131 -30
- data/lib/rigor/scope.rb +62 -2
- data/lib/rigor/source/node_walker.rb +12 -0
- data/lib/rigor/type/anonymous_class_name.rb +40 -0
- data/lib/rigor/type/nominal.rb +5 -2
- data/lib/rigor/type/singleton.rb +4 -1
- data/lib/rigor/version.rb +1 -1
- data/lib/rigor.rb +1 -0
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/effects.rb +90 -0
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +7 -1
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/effects.rb +85 -0
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer.rb +8 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/effects.rb +152 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack.rb +9 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/effects.rb +156 -0
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/recurring_scan.rb +113 -0
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob.rb +68 -3
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/effects.rb +186 -0
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb +12 -1
- data/plugins/rigor-activerecord/sig/active_record/relation.rbs +145 -0
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/effects.rb +77 -0
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage.rb +6 -1
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb +143 -0
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb +9 -1
- data/plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs +385 -28
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot.rb +30 -2
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/authorization_scan.rb +151 -0
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit.rb +46 -3
- data/plugins/rigor-rails/lib/rigor-rails.rb +1 -0
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/effects.rb +47 -0
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n.rb +7 -1
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/acronyms.rb +81 -0
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/helper_table.rb +13 -1
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/routes_parser.rb +202 -15
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes.rb +43 -3
- data/plugins/rigor-railties/lib/rigor/plugin/railties/effects.rb +171 -0
- data/plugins/rigor-railties/lib/rigor/plugin/railties.rb +62 -0
- data/plugins/rigor-railties/lib/rigor-railties.rb +3 -0
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/schedule_scan.rb +122 -0
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb +56 -3
- data/sig/rigor/analysis/fact_store.rbs +1 -0
- data/sig/rigor/inference.rbs +2 -0
- data/sig/rigor/rbs_extended.rbs +6 -0
- data/sig/rigor/scope.rbs +4 -0
- data/sig/rigor.rbs +21 -1
- data/skills/rigor-unused-adjudicate/SKILL.md +90 -0
- metadata +83 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffcad04b990dc4220690a6906bb96306056a02792017fcf41200b8865c040846
|
|
4
|
+
data.tar.gz: b62aa8767389da9ddd808df2a74d09447aee4d5a9c0deb0d7d4292da5ff7669b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f55c7fb8b035ba5364d97163f6ae66e1212d544d5fa2821110a230818be1f64bd2d803ff88739af394d57c39a3bb6ed77737451a68f1cfb047276e23c6ede98a
|
|
7
|
+
data.tar.gz: 85aafda9ac9c46b73757c5690484d97d77b1dea26cc499252d39a24aefbd9f58fcf0dfda759a11e7dea553b4d8fac3ae83db9a165e1e926ff62a8fdecad78967
|
data/README.md
CHANGED
|
@@ -231,7 +231,7 @@ rigor docs --list # list every bundled page
|
|
|
231
231
|
|
|
232
232
|
## Status
|
|
233
233
|
|
|
234
|
-
Current release: **`v0.3.
|
|
234
|
+
Current release: **`v0.3.4`** (2026-08-21) — on the
|
|
235
235
|
`0.3.x` line, continuing the evaluation era opened by `v0.2.0`, the first
|
|
236
236
|
publicly-announced (general / evaluation) release. The line publishes
|
|
237
237
|
an enumerated [compatibility surface](docs/compatibility.md) as a
|
|
@@ -83,9 +83,8 @@ classes:
|
|
|
83
83
|
arity: 0
|
|
84
84
|
defined_at: references/ruby/array.c:8882
|
|
85
85
|
c_body_at: references/ruby/array.c:3148
|
|
86
|
-
c_effects:
|
|
87
|
-
|
|
88
|
-
purity: mutates_self
|
|
86
|
+
c_effects: []
|
|
87
|
+
purity: leaf
|
|
89
88
|
rbs:
|
|
90
89
|
- "() -> Array[E]"
|
|
91
90
|
rbs_at: references/rbs/core/array.rbs:3795
|
|
@@ -97,7 +96,6 @@ classes:
|
|
|
97
96
|
c_body_at: references/ruby/array.c:3184
|
|
98
97
|
c_effects:
|
|
99
98
|
- block
|
|
100
|
-
- mutate
|
|
101
99
|
- raises
|
|
102
100
|
purity: block_dependent
|
|
103
101
|
rbs:
|
|
@@ -234,9 +232,8 @@ classes:
|
|
|
234
232
|
arity: -1
|
|
235
233
|
defined_at: references/ruby/array.c:8896
|
|
236
234
|
c_body_at: references/ruby/array.c:5721
|
|
237
|
-
c_effects:
|
|
238
|
-
|
|
239
|
-
purity: mutates_self
|
|
235
|
+
c_effects: []
|
|
236
|
+
purity: leaf
|
|
240
237
|
rbs:
|
|
241
238
|
- "(*array[untyped] other_arrays) -> Array[E]"
|
|
242
239
|
rbs_at: references/rbs/core/array.rbs:1596
|
|
@@ -547,9 +544,8 @@ classes:
|
|
|
547
544
|
arity: 0
|
|
548
545
|
defined_at: references/ruby/array.c:8924
|
|
549
546
|
c_body_at: references/ruby/array.c:3601
|
|
550
|
-
c_effects:
|
|
551
|
-
|
|
552
|
-
purity: mutates_self
|
|
547
|
+
c_effects: []
|
|
548
|
+
purity: leaf
|
|
553
549
|
rbs:
|
|
554
550
|
- "() -> Array[E]"
|
|
555
551
|
- "() { (E a, E b) -> Comparable::_CompareToZero } -> Array[E]"
|
|
@@ -593,7 +589,6 @@ classes:
|
|
|
593
589
|
c_body_at: references/ruby/array.c:3759
|
|
594
590
|
c_effects:
|
|
595
591
|
- block
|
|
596
|
-
- mutate
|
|
597
592
|
purity: block_dependent
|
|
598
593
|
rbs:
|
|
599
594
|
- "[T] () { (E item) -> T } -> Array[T]"
|
|
@@ -621,7 +616,6 @@ classes:
|
|
|
621
616
|
c_body_at: references/ruby/array.c:3759
|
|
622
617
|
c_effects:
|
|
623
618
|
- block
|
|
624
|
-
- mutate
|
|
625
619
|
purity: block_dependent
|
|
626
620
|
map!:
|
|
627
621
|
source: c
|
|
@@ -641,7 +635,6 @@ classes:
|
|
|
641
635
|
c_body_at: references/ruby/array.c:4000
|
|
642
636
|
c_effects:
|
|
643
637
|
- block
|
|
644
|
-
- mutate
|
|
645
638
|
purity: block_dependent
|
|
646
639
|
rbs:
|
|
647
640
|
- "() { (E element) -> boolish } -> Array[E]"
|
|
@@ -668,7 +661,6 @@ classes:
|
|
|
668
661
|
c_body_at: references/ruby/array.c:4000
|
|
669
662
|
c_effects:
|
|
670
663
|
- block
|
|
671
|
-
- mutate
|
|
672
664
|
purity: block_dependent
|
|
673
665
|
filter!:
|
|
674
666
|
source: c
|
|
@@ -770,7 +762,6 @@ classes:
|
|
|
770
762
|
c_body_at: references/ruby/array.c:4680
|
|
771
763
|
c_effects:
|
|
772
764
|
- block
|
|
773
|
-
- mutate
|
|
774
765
|
purity: block_dependent
|
|
775
766
|
rbs:
|
|
776
767
|
- "() -> Array[[ E ]]"
|
|
@@ -790,9 +781,8 @@ classes:
|
|
|
790
781
|
defined_at: references/ruby/array.c:8943
|
|
791
782
|
c_body_at: references/ruby/array.c:4753
|
|
792
783
|
c_effects:
|
|
793
|
-
- mutate
|
|
794
784
|
- raises
|
|
795
|
-
purity:
|
|
785
|
+
purity: leaf
|
|
796
786
|
rbs:
|
|
797
787
|
- "() -> Array[Array[untyped]]"
|
|
798
788
|
rbs_at: references/rbs/core/array.rbs:3857
|
|
@@ -938,9 +928,8 @@ classes:
|
|
|
938
928
|
arity: 1
|
|
939
929
|
defined_at: references/ruby/array.c:8959
|
|
940
930
|
c_body_at: references/ruby/array.c:5673
|
|
941
|
-
c_effects:
|
|
942
|
-
|
|
943
|
-
purity: mutates_self
|
|
931
|
+
c_effects: []
|
|
932
|
+
purity: leaf
|
|
944
933
|
rbs:
|
|
945
934
|
- "(array[untyped] other_array) -> Array[E]"
|
|
946
935
|
rbs_at: references/rbs/core/array.rbs:726
|
|
@@ -950,9 +939,8 @@ classes:
|
|
|
950
939
|
arity: 1
|
|
951
940
|
defined_at: references/ruby/array.c:8960
|
|
952
941
|
c_body_at: references/ruby/array.c:5782
|
|
953
|
-
c_effects:
|
|
954
|
-
|
|
955
|
-
purity: mutates_self
|
|
942
|
+
c_effects: []
|
|
943
|
+
purity: leaf
|
|
956
944
|
rbs:
|
|
957
945
|
- "(array[untyped] other_array) -> Array[E]"
|
|
958
946
|
rbs_at: references/rbs/core/array.rbs:675
|
|
@@ -1175,7 +1163,6 @@ classes:
|
|
|
1175
1163
|
c_body_at: references/ruby/array.c:7668
|
|
1176
1164
|
c_effects:
|
|
1177
1165
|
- block
|
|
1178
|
-
- mutate
|
|
1179
1166
|
- raises
|
|
1180
1167
|
purity: block_dependent
|
|
1181
1168
|
rbs:
|
|
@@ -58,9 +58,8 @@ classes:
|
|
|
58
58
|
arity: 0
|
|
59
59
|
defined_at: references/ruby/enum.c:5210
|
|
60
60
|
c_body_at: references/ruby/enum.c:1387
|
|
61
|
-
c_effects:
|
|
62
|
-
|
|
63
|
-
purity: mutates_self
|
|
61
|
+
c_effects: []
|
|
62
|
+
purity: leaf
|
|
64
63
|
sort_by:
|
|
65
64
|
source: c
|
|
66
65
|
cfunc: enum_sort_by
|
|
@@ -69,7 +68,6 @@ classes:
|
|
|
69
68
|
c_body_at: references/ruby/enum.c:1707
|
|
70
69
|
c_effects:
|
|
71
70
|
- block
|
|
72
|
-
- mutate
|
|
73
71
|
- raises
|
|
74
72
|
purity: block_dependent
|
|
75
73
|
grep:
|
|
@@ -248,9 +246,8 @@ classes:
|
|
|
248
246
|
arity: -1
|
|
249
247
|
defined_at: references/ruby/enum.c:5231
|
|
250
248
|
c_body_at: references/ruby/enum.c:1285
|
|
251
|
-
c_effects:
|
|
252
|
-
|
|
253
|
-
purity: mutates_self
|
|
249
|
+
c_effects: []
|
|
250
|
+
purity: leaf
|
|
254
251
|
first:
|
|
255
252
|
source: c
|
|
256
253
|
cfunc: enum_first
|
|
@@ -542,7 +539,6 @@ classes:
|
|
|
542
539
|
c_body_at: references/ruby/enum.c:4905
|
|
543
540
|
c_effects:
|
|
544
541
|
- block
|
|
545
|
-
- mutate
|
|
546
542
|
purity: block_dependent
|
|
547
543
|
compact:
|
|
548
544
|
source: c
|
|
@@ -101,9 +101,8 @@ classes:
|
|
|
101
101
|
arity: -1
|
|
102
102
|
defined_at: references/ruby/error.c:3642
|
|
103
103
|
c_body_at: references/ruby/error.c:1726
|
|
104
|
-
c_effects:
|
|
105
|
-
|
|
106
|
-
purity: mutates_self
|
|
104
|
+
c_effects: []
|
|
105
|
+
purity: leaf
|
|
107
106
|
rbs:
|
|
108
107
|
- "(?highlight: bool?, ?order: (:top | :bottom | string)?) -> String"
|
|
109
108
|
rbs_at: references/rbs/core/exception.rbs:484
|
|
@@ -113,9 +112,8 @@ classes:
|
|
|
113
112
|
arity: 0
|
|
114
113
|
defined_at: references/ruby/error.c:3643
|
|
115
114
|
c_body_at: references/ruby/error.c:1837
|
|
116
|
-
c_effects:
|
|
117
|
-
|
|
118
|
-
purity: mutates_self
|
|
115
|
+
c_effects: []
|
|
116
|
+
purity: leaf
|
|
119
117
|
rbs:
|
|
120
118
|
- "() -> String"
|
|
121
119
|
rbs_at: references/rbs/core/exception.rbs:305
|
|
@@ -635,7 +633,6 @@ classes:
|
|
|
635
633
|
arity: 0
|
|
636
634
|
defined_at: references/ruby/error.c:3727
|
|
637
635
|
c_body_at: references/ruby/error.c:263
|
|
638
|
-
c_effects:
|
|
639
|
-
|
|
640
|
-
purity: mutates_self
|
|
636
|
+
c_effects: []
|
|
637
|
+
purity: leaf
|
|
641
638
|
undefined: []
|
|
@@ -399,9 +399,8 @@ classes:
|
|
|
399
399
|
arity: 0
|
|
400
400
|
defined_at: references/ruby/hash.c:7394
|
|
401
401
|
c_body_at: references/ruby/hash.c:3770
|
|
402
|
-
c_effects:
|
|
403
|
-
|
|
404
|
-
purity: mutates_self
|
|
402
|
+
c_effects: []
|
|
403
|
+
purity: leaf
|
|
405
404
|
rbs:
|
|
406
405
|
- "() -> Array[K]"
|
|
407
406
|
rbs_at: references/rbs/core/hash.rbs:1430
|
|
@@ -411,9 +410,8 @@ classes:
|
|
|
411
410
|
arity: 0
|
|
412
411
|
defined_at: references/ruby/hash.c:7395
|
|
413
412
|
c_body_at: references/ruby/hash.c:3817
|
|
414
|
-
c_effects:
|
|
415
|
-
|
|
416
|
-
purity: mutates_self
|
|
413
|
+
c_effects: []
|
|
414
|
+
purity: leaf
|
|
417
415
|
rbs:
|
|
418
416
|
- "() -> Array[V]"
|
|
419
417
|
rbs_at: references/rbs/core/hash.rbs:2098
|
|
@@ -423,9 +421,8 @@ classes:
|
|
|
423
421
|
arity: -1
|
|
424
422
|
defined_at: references/ruby/hash.c:7396
|
|
425
423
|
c_body_at: references/ruby/hash.c:2689
|
|
426
|
-
c_effects:
|
|
427
|
-
|
|
428
|
-
purity: mutates_self
|
|
424
|
+
c_effects: []
|
|
425
|
+
purity: leaf
|
|
429
426
|
rbs:
|
|
430
427
|
- "(*_Key arg0) -> Array[V?]"
|
|
431
428
|
rbs_at: references/rbs/core/hash.rbs:2116
|
|
@@ -435,9 +432,8 @@ classes:
|
|
|
435
432
|
arity: -1
|
|
436
433
|
defined_at: references/ruby/hash.c:7397
|
|
437
434
|
c_body_at: references/ruby/hash.c:2725
|
|
438
|
-
c_effects:
|
|
439
|
-
|
|
440
|
-
purity: mutates_self
|
|
435
|
+
c_effects: []
|
|
436
|
+
purity: leaf
|
|
441
437
|
rbs:
|
|
442
438
|
- "(*_Key keys) -> Array[V]"
|
|
443
439
|
- "[K2 < _Key, T] (*K2 keys) { (K2 key) -> T } -> Array[V | T]"
|
|
@@ -567,9 +563,8 @@ classes:
|
|
|
567
563
|
arity: -1
|
|
568
564
|
defined_at: references/ruby/hash.c:7409
|
|
569
565
|
c_body_at: references/ruby/hash.c:2620
|
|
570
|
-
c_effects:
|
|
571
|
-
|
|
572
|
-
purity: mutates_self
|
|
566
|
+
c_effects: []
|
|
567
|
+
purity: leaf
|
|
573
568
|
rbs:
|
|
574
569
|
- "[K2 < _Key] (*K2 keys) -> Hash[K2, V]"
|
|
575
570
|
rbs_at: references/rbs/core/hash.rbs:1703
|
|
@@ -579,9 +574,8 @@ classes:
|
|
|
579
574
|
arity: -1
|
|
580
575
|
defined_at: references/ruby/hash.c:7410
|
|
581
576
|
c_body_at: references/ruby/hash.c:2655
|
|
582
|
-
c_effects:
|
|
583
|
-
|
|
584
|
-
purity: mutates_self
|
|
577
|
+
c_effects: []
|
|
578
|
+
purity: leaf
|
|
585
579
|
rbs:
|
|
586
580
|
- "(*_Key keys) -> Hash[K, V]"
|
|
587
581
|
rbs_at: references/rbs/core/hash.rbs:1151
|
|
@@ -897,9 +891,8 @@ classes:
|
|
|
897
891
|
defined_at: references/ruby/hash.c:7355
|
|
898
892
|
c_body_at: references/ruby/hash.c:1787
|
|
899
893
|
c_effects:
|
|
900
|
-
- mutate
|
|
901
894
|
- raises
|
|
902
|
-
purity:
|
|
895
|
+
purity: leaf
|
|
903
896
|
rbs:
|
|
904
897
|
- "[K, V] (hash[K, V] hash) -> instance"
|
|
905
898
|
- "[K, V] (array[_Pair[K, V]] two_element_arrays) -> instance"
|
|
@@ -1282,9 +1282,8 @@ classes:
|
|
|
1282
1282
|
arity: -1
|
|
1283
1283
|
defined_at: references/ruby/io.c:15906
|
|
1284
1284
|
c_body_at: references/ruby/io.c:13884
|
|
1285
|
-
c_effects:
|
|
1286
|
-
|
|
1287
|
-
purity: mutates_self
|
|
1285
|
+
c_effects: []
|
|
1286
|
+
purity: leaf
|
|
1288
1287
|
readpartial:
|
|
1289
1288
|
source: c
|
|
1290
1289
|
cfunc: argf_readpartial
|
|
@@ -1307,18 +1306,16 @@ classes:
|
|
|
1307
1306
|
arity: -1
|
|
1308
1307
|
defined_at: references/ruby/io.c:15909
|
|
1309
1308
|
c_body_at: references/ruby/io.c:10611
|
|
1310
|
-
c_effects:
|
|
1311
|
-
|
|
1312
|
-
purity: mutates_self
|
|
1309
|
+
c_effects: []
|
|
1310
|
+
purity: leaf
|
|
1313
1311
|
to_a:
|
|
1314
1312
|
source: c
|
|
1315
1313
|
cfunc: argf_readlines
|
|
1316
1314
|
arity: -1
|
|
1317
1315
|
defined_at: references/ruby/io.c:15910
|
|
1318
1316
|
c_body_at: references/ruby/io.c:10611
|
|
1319
|
-
c_effects:
|
|
1320
|
-
|
|
1321
|
-
purity: mutates_self
|
|
1317
|
+
c_effects: []
|
|
1318
|
+
purity: leaf
|
|
1322
1319
|
gets:
|
|
1323
1320
|
source: c
|
|
1324
1321
|
cfunc: argf_gets
|
|
@@ -1294,9 +1294,8 @@ classes:
|
|
|
1294
1294
|
arity: 0
|
|
1295
1295
|
defined_at: references/ruby/numeric.c:6656
|
|
1296
1296
|
c_body_at: references/ruby/numeric.c:951
|
|
1297
|
-
c_effects:
|
|
1298
|
-
|
|
1299
|
-
purity: mutates_self
|
|
1297
|
+
c_effects: []
|
|
1298
|
+
purity: leaf
|
|
1300
1299
|
rbs:
|
|
1301
1300
|
- "() -> String"
|
|
1302
1301
|
rbs_at: references/rbs/core/float.rbs:1156
|
|
@@ -419,9 +419,8 @@ classes:
|
|
|
419
419
|
defined_at: references/ruby/proc.c:4621
|
|
420
420
|
c_body_at: references/ruby/proc.c:3339
|
|
421
421
|
c_effects:
|
|
422
|
-
- mutate
|
|
423
422
|
- dispatch
|
|
424
|
-
purity:
|
|
423
|
+
purity: dispatch
|
|
425
424
|
rbs:
|
|
426
425
|
- "() -> String"
|
|
427
426
|
rbs_at: references/rbs/core/method.rbs:87
|
|
@@ -432,9 +431,8 @@ classes:
|
|
|
432
431
|
defined_at: references/ruby/proc.c:4622
|
|
433
432
|
c_body_at: references/ruby/proc.c:3339
|
|
434
433
|
c_effects:
|
|
435
|
-
- mutate
|
|
436
434
|
- dispatch
|
|
437
|
-
purity:
|
|
435
|
+
purity: dispatch
|
|
438
436
|
to_proc:
|
|
439
437
|
source: c
|
|
440
438
|
cfunc: method_to_proc
|
|
@@ -621,9 +619,8 @@ classes:
|
|
|
621
619
|
defined_at: references/ruby/proc.c:4648
|
|
622
620
|
c_body_at: references/ruby/proc.c:3339
|
|
623
621
|
c_effects:
|
|
624
|
-
- mutate
|
|
625
622
|
- dispatch
|
|
626
|
-
purity:
|
|
623
|
+
purity: dispatch
|
|
627
624
|
rbs:
|
|
628
625
|
- "() -> String"
|
|
629
626
|
rbs_at: references/rbs/core/unbound_method.rbs:212
|
|
@@ -634,9 +631,8 @@ classes:
|
|
|
634
631
|
defined_at: references/ruby/proc.c:4649
|
|
635
632
|
c_body_at: references/ruby/proc.c:3339
|
|
636
633
|
c_effects:
|
|
637
|
-
- mutate
|
|
638
634
|
- dispatch
|
|
639
|
-
purity:
|
|
635
|
+
purity: dispatch
|
|
640
636
|
name:
|
|
641
637
|
source: c
|
|
642
638
|
cfunc: method_name
|
|
@@ -578,9 +578,8 @@ classes:
|
|
|
578
578
|
arity: 1
|
|
579
579
|
defined_at: references/ruby/re.c:4902
|
|
580
580
|
c_body_at: references/ruby/re.c:2495
|
|
581
|
-
c_effects:
|
|
582
|
-
|
|
583
|
-
purity: mutates_self
|
|
581
|
+
c_effects: []
|
|
582
|
+
purity: leaf
|
|
584
583
|
rbs:
|
|
585
584
|
- "(Array[Symbol]? array_of_names) -> Hash[Symbol, String?]"
|
|
586
585
|
rbs_at: references/rbs/core/match_data.rbs:273
|
|
@@ -590,9 +589,8 @@ classes:
|
|
|
590
589
|
arity: -1
|
|
591
590
|
defined_at: references/ruby/re.c:4903
|
|
592
591
|
c_body_at: references/ruby/re.c:2321
|
|
593
|
-
c_effects:
|
|
594
|
-
|
|
595
|
-
purity: mutates_self
|
|
592
|
+
c_effects: []
|
|
593
|
+
purity: leaf
|
|
596
594
|
rbs:
|
|
597
595
|
- "(*capture | range[int?] backrefs) -> Array[String?]"
|
|
598
596
|
rbs_at: references/rbs/core/match_data.rbs:636
|
|
@@ -635,9 +633,8 @@ classes:
|
|
|
635
633
|
arity: 0
|
|
636
634
|
defined_at: references/ruby/re.c:4907
|
|
637
635
|
c_body_at: references/ruby/re.c:2608
|
|
638
|
-
c_effects:
|
|
639
|
-
|
|
640
|
-
purity: mutates_self
|
|
636
|
+
c_effects: []
|
|
637
|
+
purity: leaf
|
|
641
638
|
rbs:
|
|
642
639
|
- "() -> String"
|
|
643
640
|
rbs_at: references/rbs/core/match_data.rbs:353
|
|
@@ -563,9 +563,8 @@ classes:
|
|
|
563
563
|
arity: 0
|
|
564
564
|
defined_at: references/ruby/set.c:2309
|
|
565
565
|
c_body_at: references/ruby/set.c:644
|
|
566
|
-
c_effects:
|
|
567
|
-
|
|
568
|
-
purity: mutates_self
|
|
566
|
+
c_effects: []
|
|
567
|
+
purity: leaf
|
|
569
568
|
rbs:
|
|
570
569
|
- "() -> Array[A]"
|
|
571
570
|
rbs_at: references/rbs/core/set.rbs:729
|
|
@@ -981,7 +981,6 @@ classes:
|
|
|
981
981
|
c_body_at: references/ruby/string.c:10666
|
|
982
982
|
c_effects:
|
|
983
983
|
- block
|
|
984
|
-
- mutate
|
|
985
984
|
purity: block_dependent
|
|
986
985
|
rbs:
|
|
987
986
|
- "(Regexp pattern) -> Array[String | Array[String?]]"
|
|
@@ -1543,9 +1542,8 @@ classes:
|
|
|
1543
1542
|
arity: -1
|
|
1544
1543
|
defined_at: references/ruby/string.c:12791
|
|
1545
1544
|
c_body_at: references/ruby/string.c:2143
|
|
1546
|
-
c_effects:
|
|
1547
|
-
|
|
1548
|
-
purity: mutates_self
|
|
1545
|
+
c_effects: []
|
|
1546
|
+
purity: leaf
|
|
1549
1547
|
try_convert:
|
|
1550
1548
|
source: c
|
|
1551
1549
|
cfunc: rb_str_s_try_convert
|
|
@@ -1602,9 +1600,8 @@ classes:
|
|
|
1602
1600
|
arity: 0
|
|
1603
1601
|
defined_at: references/ruby/string.c:12964
|
|
1604
1602
|
c_body_at: references/ruby/string.c:12308
|
|
1605
|
-
c_effects:
|
|
1606
|
-
|
|
1607
|
-
purity: mutates_self
|
|
1603
|
+
c_effects: []
|
|
1604
|
+
purity: leaf
|
|
1608
1605
|
rbs:
|
|
1609
1606
|
- "() -> String"
|
|
1610
1607
|
rbs_at: references/rbs/core/symbol.rbs:332
|
|
@@ -118,7 +118,6 @@ classes:
|
|
|
118
118
|
c_body_at: references/ruby/struct.c:1091
|
|
119
119
|
c_effects:
|
|
120
120
|
- block
|
|
121
|
-
- mutate
|
|
122
121
|
purity: block_dependent
|
|
123
122
|
rbs:
|
|
124
123
|
- "() -> Hash[Symbol, E]"
|
|
@@ -208,7 +207,6 @@ classes:
|
|
|
208
207
|
c_body_at: references/ruby/struct.c:1388
|
|
209
208
|
c_effects:
|
|
210
209
|
- block
|
|
211
|
-
- mutate
|
|
212
210
|
purity: block_dependent
|
|
213
211
|
rbs:
|
|
214
212
|
- "() -> Enumerator[E, Array[E]]"
|
|
@@ -222,7 +220,6 @@ classes:
|
|
|
222
220
|
c_body_at: references/ruby/struct.c:1388
|
|
223
221
|
c_effects:
|
|
224
222
|
- block
|
|
225
|
-
- mutate
|
|
226
223
|
purity: block_dependent
|
|
227
224
|
values_at:
|
|
228
225
|
source: c
|
|
@@ -286,7 +283,6 @@ classes:
|
|
|
286
283
|
c_body_at: references/ruby/struct.c:643
|
|
287
284
|
c_effects:
|
|
288
285
|
- block
|
|
289
|
-
- mutate
|
|
290
286
|
- raises
|
|
291
287
|
purity: block_dependent
|
|
292
288
|
rbs:
|
|
@@ -391,7 +387,6 @@ classes:
|
|
|
391
387
|
c_body_at: references/ruby/struct.c:1091
|
|
392
388
|
c_effects:
|
|
393
389
|
- block
|
|
394
|
-
- mutate
|
|
395
390
|
purity: block_dependent
|
|
396
391
|
members:
|
|
397
392
|
source: c
|
|
@@ -434,7 +429,6 @@ classes:
|
|
|
434
429
|
c_body_at: references/ruby/struct.c:1709
|
|
435
430
|
c_effects:
|
|
436
431
|
- block
|
|
437
|
-
- mutate
|
|
438
432
|
- raises
|
|
439
433
|
purity: block_dependent
|
|
440
434
|
members:
|
|
@@ -216,9 +216,8 @@ classes:
|
|
|
216
216
|
defined_at: references/ruby/time.c:6006
|
|
217
217
|
c_body_at: references/ruby/time.c:4406
|
|
218
218
|
c_effects:
|
|
219
|
-
- mutate
|
|
220
219
|
- dispatch
|
|
221
|
-
purity:
|
|
220
|
+
purity: dispatch
|
|
222
221
|
rbs:
|
|
223
222
|
- "() -> String"
|
|
224
223
|
rbs_at: references/rbs/core/time.rbs:1182
|
|
@@ -241,9 +240,8 @@ classes:
|
|
|
241
240
|
defined_at: references/ruby/time.c:6008
|
|
242
241
|
c_body_at: references/ruby/time.c:5165
|
|
243
242
|
c_effects:
|
|
244
|
-
- mutate
|
|
245
243
|
- raises
|
|
246
|
-
purity:
|
|
244
|
+
purity: leaf
|
|
247
245
|
rbs:
|
|
248
246
|
- "(Array[Symbol]?) -> Hash[Symbol, Integer]"
|
|
249
247
|
rbs_at: references/rbs/core/time.rbs:913
|
|
@@ -672,9 +670,8 @@ classes:
|
|
|
672
670
|
defined_at: references/ruby/time.c:6053
|
|
673
671
|
c_body_at: references/ruby/time.c:5315
|
|
674
672
|
c_effects:
|
|
675
|
-
- mutate
|
|
676
673
|
- dispatch
|
|
677
|
-
purity:
|
|
674
|
+
purity: dispatch
|
|
678
675
|
rbs:
|
|
679
676
|
- "(?Integer fraction_digits) -> String"
|
|
680
677
|
rbs_at: references/rbs/core/time.rbs:1663
|