rigortype 0.4.5 → 0.4.7
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 +2 -2
- data/data/gem_overlay/activesupport/core_ext.rbs +16 -13
- data/data/vendored_gem_sigs/bundler/bundler.rbs +1 -1
- data/data/vendored_gem_sigs/rubygems/rubygems_extras.rbs +4 -3
- data/docs/handbook/01-getting-started.md +5 -2
- data/docs/handbook/11-sig-gen.md +61 -5
- data/docs/handbook/appendix-phpstan.md +4 -4
- data/docs/manual/02-cli-reference.md +192 -27
- data/docs/manual/03-configuration.md +38 -4
- data/docs/manual/04-diagnostics.md +1 -1
- data/docs/manual/06-baseline.md +6 -4
- data/docs/manual/09-editor-integration.md +13 -2
- data/docs/manual/10-mcp-server.md +47 -3
- data/docs/manual/12-caching.md +9 -1
- data/docs/manual/plugins/rigor-actionmailer.md +30 -0
- data/docs/manual/plugins/rigor-actionpack.md +49 -11
- data/docs/manual/plugins/rigor-activesupport-core-ext.md +20 -1
- data/docs/manual/plugins/rigor-devise.md +15 -0
- data/docs/manual/plugins/rigor-rspec.md +2 -1
- data/lib/rigor/analysis/baseline.rb +24 -27
- data/lib/rigor/analysis/buffer_binding.rb +14 -0
- data/lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb +5 -6
- data/lib/rigor/analysis/check_rules/dead_assignment_collector.rb +2 -2
- data/lib/rigor/analysis/check_rules/declaration_sourced_guard.rb +4 -4
- data/lib/rigor/analysis/check_rules/duplicate_hash_key_collector.rb +2 -2
- data/lib/rigor/analysis/check_rules/inferred_param_guard.rb +105 -12
- data/lib/rigor/analysis/check_rules/ivar_write_collector.rb +143 -15
- data/lib/rigor/analysis/check_rules/lexical_method_sites.rb +4 -1
- data/lib/rigor/analysis/check_rules/main_pass_collector.rb +5 -8
- data/lib/rigor/analysis/check_rules/published_constant_guard.rb +1 -1
- data/lib/rigor/analysis/check_rules/rbs_receiver_surface.rb +66 -3
- data/lib/rigor/analysis/check_rules/rebinding_block_callees/dispatch.rb +112 -0
- data/lib/rigor/analysis/check_rules/rebinding_block_callees.rb +394 -0
- data/lib/rigor/analysis/check_rules/return_in_ensure_collector.rb +1 -2
- data/lib/rigor/analysis/check_rules/ruby_deprecations.rb +7 -0
- data/lib/rigor/analysis/check_rules/rule_ids.rb +1 -1
- data/lib/rigor/analysis/check_rules/rule_walk.rb +9 -7
- data/lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb +3 -4
- data/lib/rigor/analysis/check_rules/special_global_setters.rb +3 -3
- data/lib/rigor/analysis/check_rules/unreachable_clause_collector.rb +53 -2
- data/lib/rigor/analysis/check_rules/void_value_use_collector.rb +1 -1
- data/lib/rigor/analysis/check_rules.rb +217 -52
- data/lib/rigor/analysis/crash_signature.rb +2 -2
- data/lib/rigor/analysis/dependency_recorder.rb +15 -4
- data/lib/rigor/analysis/dependency_source_inference/boundary_cross_reporter.rb +14 -3
- data/lib/rigor/analysis/dependency_source_inference/gem_resolver.rb +1 -1
- data/lib/rigor/analysis/dependency_source_inference/index.rb +6 -8
- data/lib/rigor/analysis/dependency_source_inference/walker.rb +4 -4
- data/lib/rigor/analysis/edit_replay.rb +154 -0
- data/lib/rigor/analysis/fact_store.rb +3 -3
- data/lib/rigor/analysis/incremental.rb +37 -0
- data/lib/rigor/analysis/incremental_run_slot/write_guard.rb +2 -2
- data/lib/rigor/analysis/incremental_run_slot.rb +2 -2
- data/lib/rigor/analysis/incremental_session.rb +202 -43
- data/lib/rigor/analysis/path_expansion.rb +41 -0
- data/lib/rigor/analysis/require_relative_closure.rb +100 -0
- data/lib/rigor/analysis/rule_catalog.rb +7 -3
- data/lib/rigor/analysis/run_disclosure_credit.rb +80 -0
- data/lib/rigor/analysis/run_disclosure_ledger.rb +155 -0
- data/lib/rigor/analysis/run_stats.rb +2 -2
- data/lib/rigor/analysis/runner/buffer_pool_dispatcher.rb +8 -4
- data/lib/rigor/analysis/runner/declaration_position.rb +1 -1
- data/lib/rigor/analysis/runner/diagnostic_aggregator.rb +204 -96
- data/lib/rigor/analysis/runner/effect_envelope_pass.rb +1 -1
- data/lib/rigor/analysis/runner/pool_coordinator.rb +157 -320
- data/lib/rigor/analysis/runner/project_pre_passes.rb +48 -6
- data/lib/rigor/analysis/runner/run_level_facts.rb +304 -0
- data/lib/rigor/analysis/runner/run_snapshots.rb +44 -54
- data/lib/rigor/analysis/runner/scan_environment.rb +51 -0
- data/lib/rigor/analysis/runner/worker_payload.rb +36 -0
- data/lib/rigor/analysis/runner.rb +233 -120
- data/lib/rigor/analysis/self_call_resolution_recorder.rb +1 -1
- data/lib/rigor/analysis/template_unit_positions.rb +2 -3
- data/lib/rigor/analysis/template_units.rb +9 -1
- data/lib/rigor/analysis/worker_session.rb +38 -33
- data/lib/rigor/bleeding_edge.rb +3 -6
- data/lib/rigor/builtins/imported_refinements.rb +6 -8
- data/lib/rigor/builtins/predefined_constant_refinements.rb +1 -1
- data/lib/rigor/builtins/regex_refinement.rb +4 -6
- data/lib/rigor/cache/descriptor.rb +6 -5
- data/lib/rigor/cache/incremental_snapshot.rb +60 -18
- data/lib/rigor/cache/rbs_cache_producer.rb +2 -2
- data/lib/rigor/cache/rbs_class_ancestor_table.rb +1 -1
- data/lib/rigor/cache/rbs_class_type_param_names.rb +2 -2
- data/lib/rigor/cache/rbs_constant_table.rb +1 -1
- data/lib/rigor/cache/rbs_descriptor.rb +54 -3
- data/lib/rigor/cache/rbs_environment.rb +4 -1
- data/lib/rigor/cache/rbs_environment_marshal_patch.rb +2 -2
- data/lib/rigor/cache/rbs_known_class_names.rb +1 -1
- data/lib/rigor/cache/store.rb +11 -10
- data/lib/rigor/ci_detector.rb +1 -1
- data/lib/rigor/cli/annotate_command.rb +24 -19
- data/lib/rigor/cli/baseline_command.rb +145 -55
- data/lib/rigor/cli/catalogue.rb +256 -0
- data/lib/rigor/cli/check_command.rb +188 -93
- data/lib/rigor/cli/check_runner_factory.rb +2 -2
- data/lib/rigor/cli/command.rb +15 -1
- data/lib/rigor/cli/coverage_command.rb +21 -8
- data/lib/rigor/cli/coverage_mutation.rb +5 -7
- data/lib/rigor/cli/coverage_renderer.rb +2 -1
- data/lib/rigor/cli/coverage_scan.rb +3 -5
- data/lib/rigor/cli/diff_command.rb +27 -21
- data/lib/rigor/cli/docs_command.rb +1 -2
- data/lib/rigor/cli/doctor_command.rb +12 -12
- data/lib/rigor/cli/effects_command.rb +50 -40
- data/lib/rigor/cli/effects_diff_renderer.rb +18 -17
- data/lib/rigor/cli/effects_explain_renderer.rb +13 -12
- data/lib/rigor/cli/effects_renderer.rb +2 -1
- data/lib/rigor/cli/effects_snapshot_command.rb +18 -17
- data/lib/rigor/cli/explain_command.rb +18 -8
- data/lib/rigor/cli/fused_protection_renderer.rb +2 -1
- data/lib/rigor/cli/json_document.rb +41 -0
- data/lib/rigor/cli/lens_command.rb +17 -13
- data/lib/rigor/cli/lsp_command.rb +250 -23
- data/lib/rigor/cli/mcp_command.rb +14 -8
- data/lib/rigor/cli/mutation_fork_scan.rb +1 -1
- data/lib/rigor/cli/mutation_protection_renderer.rb +3 -2
- data/lib/rigor/cli/options.rb +60 -4
- data/lib/rigor/cli/plugin_command.rb +93 -46
- data/lib/rigor/cli/plugins_command.rb +22 -18
- data/lib/rigor/cli/plugins_renderer.rb +34 -8
- data/lib/rigor/cli/protection_fork_scan.rb +2 -2
- data/lib/rigor/cli/protection_renderer.rb +2 -1
- data/lib/rigor/cli/show_bleedingedge_command.rb +23 -16
- data/lib/rigor/cli/sig_gen_command.rb +130 -34
- data/lib/rigor/cli/skill_command.rb +32 -3
- data/lib/rigor/cli/skill_deep_probe.rb +1 -1
- data/lib/rigor/cli/skill_describe.rb +1 -1
- data/lib/rigor/cli/trace_command.rb +14 -9
- data/lib/rigor/cli/triage_command.rb +10 -11
- data/lib/rigor/cli/triage_renderer.rb +2 -1
- data/lib/rigor/cli/type_of_command.rb +18 -12
- data/lib/rigor/cli/type_of_project_scope.rb +24 -0
- data/lib/rigor/cli/type_of_renderer.rb +4 -1
- data/lib/rigor/cli/type_scan_command.rb +14 -9
- data/lib/rigor/cli/type_scan_renderer.rb +2 -1
- data/lib/rigor/cli/unused_command.rb +27 -17
- data/lib/rigor/cli/upgrade_command.rb +5 -0
- data/lib/rigor/cli.rb +209 -54
- data/lib/rigor/config_audit.rb +17 -6
- data/lib/rigor/configuration/severity_profile.rb +5 -5
- data/lib/rigor/configuration.rb +86 -34
- data/lib/rigor/effects/definition_context.rb +0 -2
- data/lib/rigor/effects/envelope.rb +1 -1
- data/lib/rigor/effects/framework_units.rb +1 -1
- data/lib/rigor/effects/mutation_classifier.rb +4 -7
- data/lib/rigor/effects/propagator.rb +1 -1
- data/lib/rigor/effects/registry.rb +2 -2
- data/lib/rigor/effects/snapshot.rb +1 -1
- data/lib/rigor/effects/taint_cause.rb +0 -2
- data/lib/rigor/effects/unit_scan.rb +9 -13
- data/lib/rigor/environment/bundle_sig_discovery.rb +5 -9
- data/lib/rigor/environment/class_registry.rb +3 -3
- data/lib/rigor/environment/core_root.rb +77 -0
- data/lib/rigor/environment/default_libraries.rb +1 -1
- data/lib/rigor/environment/deferred_signature_plan.rb +283 -0
- data/lib/rigor/environment/gated_signature_guard.rb +1 -1
- data/lib/rigor/environment/gated_signature_plan.rb +5 -2
- data/lib/rigor/environment/lockfile_resolver.rb +28 -12
- data/lib/rigor/environment/member_consistency/comparator.rb +18 -1
- data/lib/rigor/environment/member_consistency.rb +56 -7
- data/lib/rigor/environment/missing_gem_constant_index.rb +3 -2
- data/lib/rigor/environment/project_path_gems.rb +124 -0
- data/lib/rigor/environment/rbs_hierarchy.rb +6 -15
- data/lib/rigor/environment/rbs_loader.rb +592 -70
- data/lib/rigor/environment/reflection.rb +7 -7
- data/lib/rigor/environment/required_features.rb +136 -32
- data/lib/rigor/environment/ruby_library_roots.rb +122 -0
- data/lib/rigor/environment/vendored_signature_plan.rb +153 -0
- data/lib/rigor/environment.rb +44 -11
- data/lib/rigor/flow_contribution/merger.rb +4 -4
- data/lib/rigor/inference/acceptance.rb +93 -32
- data/lib/rigor/inference/block_parameter_binder.rb +2 -3
- data/lib/rigor/inference/block_run_count.rb +178 -0
- data/lib/rigor/inference/budget_trace.rb +8 -2
- data/lib/rigor/inference/builtins/exception_catalog.rb +2 -2
- data/lib/rigor/inference/builtins/numeric_catalog.rb +2 -5
- data/lib/rigor/inference/builtins/random_catalog.rb +2 -2
- data/lib/rigor/inference/callee_mutation_chain.rb +126 -0
- data/lib/rigor/inference/callee_write_census.rb +815 -0
- data/lib/rigor/inference/construction_escape.rb +217 -0
- data/lib/rigor/inference/declaration_walk/traversal.rb +1 -1
- data/lib/rigor/inference/deep_erasure.rb +170 -0
- data/lib/rigor/inference/def_handle.rb +1 -1
- data/lib/rigor/inference/def_node_resolver.rb +1 -1
- data/lib/rigor/inference/def_return_typer.rb +204 -12
- data/lib/rigor/inference/definer_resolution.rb +21 -5
- data/lib/rigor/inference/definers_index.rb +106 -0
- data/lib/rigor/inference/direct_ivar_writes.rb +300 -0
- data/lib/rigor/inference/element_read_widening.rb +49 -3
- data/lib/rigor/inference/error_info.rb +17 -3
- data/lib/rigor/inference/expression_typer.rb +173 -57
- data/lib/rigor/inference/external_ancestor_resolution.rb +3 -4
- data/lib/rigor/inference/global_write_census.rb +110 -1
- data/lib/rigor/inference/global_writer_reach.rb +260 -0
- data/lib/rigor/inference/hkt_body.rb +1 -2
- data/lib/rigor/inference/hkt_body_parser.rb +3 -5
- data/lib/rigor/inference/hkt_reducer.rb +2 -2
- data/lib/rigor/inference/hkt_registry.rb +3 -5
- data/lib/rigor/inference/indexed_narrowing.rb +4 -7
- data/lib/rigor/inference/intervening_ivar_reset.rb +26 -4
- data/lib/rigor/inference/ivar_writer_census.rb +246 -0
- data/lib/rigor/inference/key_presence_guard.rb +2 -1
- data/lib/rigor/inference/loop_value_record.rb +57 -0
- data/lib/rigor/inference/match_rebinding/frame.rb +65 -0
- data/lib/rigor/inference/match_rebinding/yielding_match.rb +45 -0
- data/lib/rigor/inference/match_rebinding.rb +11 -1
- data/lib/rigor/inference/memo_audit.rb +55 -0
- data/lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/argument_distribution.rb +40 -0
- data/lib/rigor/inference/method_dispatcher/block_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/constant_folding.rb +113 -12
- data/lib/rigor/inference/method_dispatcher/contested_overloads.rb +89 -0
- data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/kernel_dispatch.rb +7 -3
- data/lib/rigor/inference/method_dispatcher/no_match_fallback.rb +54 -0
- data/lib/rigor/inference/method_dispatcher/overload_selector.rb +39 -27
- data/lib/rigor/inference/method_dispatcher/random_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +203 -17
- data/lib/rigor/inference/method_dispatcher/reduce_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/regexp_folding.rb +2 -2
- data/lib/rigor/inference/method_dispatcher/self_substitute.rb +2 -2
- data/lib/rigor/inference/method_dispatcher/set_folding.rb +59 -24
- data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +83 -20
- data/lib/rigor/inference/method_dispatcher/singleton_folding.rb +0 -1
- data/lib/rigor/inference/method_dispatcher/singleton_mixin_dispatch.rb +50 -17
- data/lib/rigor/inference/method_dispatcher/struct_folding.rb +5 -5
- data/lib/rigor/inference/method_dispatcher/struct_materialization.rb +4 -6
- data/lib/rigor/inference/method_dispatcher/uri_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher.rb +109 -29
- data/lib/rigor/inference/module_function_state/spellings.rb +64 -0
- data/lib/rigor/inference/module_function_state.rb +23 -1
- data/lib/rigor/inference/multi_target_binder.rb +1 -1
- data/lib/rigor/inference/mutation_rejoin.rb +240 -4
- data/lib/rigor/inference/mutation_widening.rb +162 -29
- data/lib/rigor/inference/narrowing.rb +113 -38
- data/lib/rigor/inference/object_mixins.rb +13 -1
- data/lib/rigor/inference/optimistic_origin.rb +1 -1
- data/lib/rigor/inference/out_buffer_mutation.rb +72 -0
- data/lib/rigor/inference/parameter_inference_collector.rb +5 -6
- data/lib/rigor/inference/pre_eval_constants.rb +1 -1
- data/lib/rigor/inference/project_method_ownership.rb +6 -3
- data/lib/rigor/inference/project_seed_tables.rb +2 -1
- data/lib/rigor/inference/project_yielder.rb +122 -0
- data/lib/rigor/inference/receiver_alias.rb +20 -0
- data/lib/rigor/inference/refined_dispatch/constructed_class.rb +3 -1
- data/lib/rigor/inference/refined_dispatch/own_method.rb +2 -1
- data/lib/rigor/inference/remover_holder_scan.rb +233 -0
- data/lib/rigor/inference/remover_narrowing.rb +224 -0
- data/lib/rigor/inference/rewrite_mutation.rb +53 -2
- data/lib/rigor/inference/scope_indexer/certainty.rb +9 -1
- data/lib/rigor/inference/scope_indexer/constant_ivar_value.rb +93 -0
- data/lib/rigor/inference/scope_indexer/declared_ivar_types.rb +64 -0
- data/lib/rigor/inference/scope_indexer/declared_param_writes.rb +205 -0
- data/lib/rigor/inference/scope_indexer/derived_param_value.rb +112 -0
- data/lib/rigor/inference/scope_indexer/empty_seed.rb +99 -0
- data/lib/rigor/inference/scope_indexer/ivar_contributions.rb +135 -0
- data/lib/rigor/inference/scope_indexer/unseen_ivar_writers.rb +133 -0
- data/lib/rigor/inference/scope_indexer.rb +614 -146
- data/lib/rigor/inference/self_call_ivar_writes.rb +101 -17
- data/lib/rigor/inference/set_mutation.rb +189 -0
- data/lib/rigor/inference/singleton_hook_decline.rb +1 -2
- data/lib/rigor/inference/statement_evaluator.rb +3036 -278
- data/lib/rigor/inference/struct_fold_safety.rb +4 -6
- data/lib/rigor/inference/synthetic_method_index.rb +23 -0
- data/lib/rigor/inference/synthetic_method_scanner/project_members.rb +130 -0
- data/lib/rigor/inference/synthetic_method_scanner.rb +73 -14
- data/lib/rigor/inference/toplevel_def_census.rb +59 -0
- data/lib/rigor/inference/unknown_store_widening.rb +103 -4
- data/lib/rigor/inference/unthreaded_rebinds.rb +2 -3
- data/lib/rigor/inference/void_tail_summary.rb +2 -1
- data/lib/rigor/language_server/buffer_table.rb +9 -3
- data/lib/rigor/language_server/completion_provider.rb +26 -20
- data/lib/rigor/language_server/config_warning_announcer.rb +28 -0
- data/lib/rigor/language_server/diagnostic_publisher.rb +28 -9
- data/lib/rigor/language_server/document_symbol_provider.rb +1 -1
- data/lib/rigor/language_server/folding_range_provider.rb +1 -2
- data/lib/rigor/language_server/hover_provider.rb +1 -7
- data/lib/rigor/language_server/hover_renderer.rb +6 -8
- data/lib/rigor/language_server/project_context.rb +98 -4
- data/lib/rigor/language_server/publish_batcher.rb +3 -4
- data/lib/rigor/language_server/selection_range_provider.rb +2 -4
- data/lib/rigor/language_server/server.rb +12 -6
- data/lib/rigor/language_server/signature_help_provider.rb +4 -4
- data/lib/rigor/lens/plugins.rb +1 -1
- data/lib/rigor/mcp/server.rb +82 -3
- data/lib/rigor/mcp.rb +1 -1
- data/lib/rigor/plugin/access_denied_error.rb +1 -2
- data/lib/rigor/plugin/base.rb +26 -11
- data/lib/rigor/plugin/bundled_catalog.rb +1 -12
- data/lib/rigor/plugin/io_boundary.rb +1 -1
- data/lib/rigor/plugin/loader.rb +25 -8
- data/lib/rigor/plugin/macro/heredoc_template.rb +7 -8
- data/lib/rigor/plugin/macro/trait_registry.rb +6 -9
- data/lib/rigor/plugin/manifest.rb +38 -16
- data/lib/rigor/plugin/registry.rb +41 -3
- data/lib/rigor/plugin/services.rb +2 -3
- data/lib/rigor/plugin/source_rbs_synthesis_reporter.rb +11 -0
- data/lib/rigor/plugin/trust_policy.rb +2 -2
- data/lib/rigor/plugin/type_node_resolver.rb +2 -4
- data/lib/rigor/plugin.rb +6 -8
- data/lib/rigor/plugin_gap_advisory.rb +5 -1
- data/lib/rigor/project_environment.rb +16 -2
- data/lib/rigor/protection/analysis_guard.rb +1 -1
- data/lib/rigor/protection/discovery_seed.rb +96 -2
- data/lib/rigor/protection/mutator.rb +1 -1
- data/lib/rigor/rbs_extended/envelope_scanner.rb +4 -6
- data/lib/rigor/rbs_extended/hkt_directives.rb +6 -10
- data/lib/rigor/rbs_extended/reporter.rb +27 -3
- data/lib/rigor/rbs_extended.rb +2 -3
- data/lib/rigor/reflection/constant_ancestors.rb +5 -3
- data/lib/rigor/rooted_glob.rb +25 -2
- data/lib/rigor/run_scoped_slots.rb +38 -0
- data/lib/rigor/runtime/jit.rb +1 -1
- data/lib/rigor/scope/discovery_index.rb +19 -6
- data/lib/rigor/scope/resolution_chain.rb +3 -1
- data/lib/rigor/scope.rb +379 -36
- data/lib/rigor/sig_gen/classification.rb +4 -0
- data/lib/rigor/sig_gen/effect_annotation.rb +3 -3
- data/lib/rigor/sig_gen/generator.rb +668 -84
- data/lib/rigor/sig_gen/generic_header_scan.rb +189 -0
- data/lib/rigor/sig_gen/inline_declarations.rb +2 -2
- data/lib/rigor/sig_gen/layout_index.rb +3 -3
- data/lib/rigor/sig_gen/method_candidate.rb +23 -4
- data/lib/rigor/sig_gen/observation_collector.rb +7 -6
- data/lib/rigor/sig_gen/observed_call.rb +1 -1
- data/lib/rigor/sig_gen/path_mapper.rb +6 -0
- data/lib/rigor/sig_gen/rbs_validity.rb +1 -1
- data/lib/rigor/sig_gen/renderer.rb +21 -12
- data/lib/rigor/sig_gen/skip_reason_catalog.rb +15 -2
- data/lib/rigor/sig_gen/type_elaborator.rb +21 -5
- data/lib/rigor/sig_gen/type_name_qualification.rb +69 -0
- data/lib/rigor/sig_gen/write_reporter.rb +63 -14
- data/lib/rigor/sig_gen/write_result.rb +23 -12
- data/lib/rigor/sig_gen/writer.rb +217 -37
- data/lib/rigor/type/acceptance_router.rb +2 -2
- data/lib/rigor/type/accepts_result.rb +1 -1
- data/lib/rigor/type/app.rb +4 -6
- data/lib/rigor/type/combinator.rb +13 -16
- data/lib/rigor/type/constant.rb +48 -7
- data/lib/rigor/type/hash_shape.rb +26 -40
- data/lib/rigor/type/struct_instance.rb +3 -2
- data/lib/rigor/type/union.rb +1 -1
- data/lib/rigor/type_node/identifier.rb +1 -2
- data/lib/rigor/type_node/resolver_chain.rb +1 -1
- data/lib/rigor/type_node/string_literal.rb +1 -2
- data/lib/rigor/type_node/symbol_literal.rb +1 -2
- data/lib/rigor/type_node/union.rb +3 -6
- data/lib/rigor/value_semantics.rb +1 -10
- data/lib/rigor/version.rb +1 -1
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_discoverer.rb +2 -2
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_index.rb +2 -3
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +1 -1
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_discoverer.rb +89 -70
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_index.rb +4 -2
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer.rb +25 -4
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/analyzer.rb +1 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_index.rb +1 -5
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_scan.rb +0 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/erb_compiler.rb +2 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/view_assigns.rb +1 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack.rb +79 -19
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/effects.rb +1 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob.rb +6 -3
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/association_roots.rb +3 -2
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/effects.rb +2 -2
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb +21 -31
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_index.rb +10 -16
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_parser.rb +2 -3
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_table.rb +0 -1
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb +5 -4
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/attachment_discoverer.rb +3 -4
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/attachment_index.rb +1 -1
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage.rb +7 -12
- data/plugins/rigor-activestorage/lib/rigor-activestorage.rb +1 -1
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb +1 -1
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/symbolize_keys.rb +102 -0
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb +19 -6
- data/plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs +26 -13
- data/plugins/rigor-alba/lib/rigor/plugin/alba/resource_index.rb +3 -3
- data/plugins/rigor-devise/lib/rigor/plugin/devise.rb +5 -3
- data/plugins/rigor-dry-schema/lib/rigor/plugin/dry_schema/schema_scanner.rb +1 -3
- data/plugins/rigor-dry-struct/lib/rigor/plugin/dry_struct.rb +6 -6
- data/plugins/rigor-dry-types/lib/rigor/plugin/dry_types/alias_scanner.rb +5 -6
- data/plugins/rigor-dry-types/lib/rigor/plugin/dry_types.rb +7 -6
- data/plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation/params_shape.rb +2 -3
- data/plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation.rb +5 -8
- data/plugins/rigor-ethon/lib/rigor/plugin/ethon.rb +0 -1
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_discoverer.rb +1 -1
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot.rb +10 -18
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/analyzer.rb +0 -1
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/discoverer.rb +0 -2
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi.rb +4 -5
- data/plugins/rigor-grape/lib/rigor/plugin/grape.rb +0 -2
- data/plugins/rigor-graphql/lib/rigor/plugin/graphql/type_scanner.rb +6 -7
- data/plugins/rigor-hanami/lib/rigor/plugin/hanami/action_checker.rb +2 -4
- data/plugins/rigor-hanami/lib/rigor/plugin/hanami.rb +2 -5
- data/plugins/rigor-mangrove/lib/rigor/plugin/mangrove.rb +2 -2
- data/plugins/rigor-minitest/lib/rigor/plugin/minitest/assertion_analyzer.rb +6 -6
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/policy_discoverer.rb +2 -1
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/analyzer.rb +3 -8
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/locale_index.rb +2 -3
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/locale_loader.rb +5 -8
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/analyzer.rb +1 -3
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/devise_routes.rb +2 -3
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/helper_discoverer.rb +1 -1
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/routes_parser.rb +4 -11
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes.rb +1 -1
- data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb +2 -1
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec/matcher_analyzer.rb +102 -11
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec.rb +2 -2
- data/plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails.rb +3 -4
- data/plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers/analyzer.rb +6 -8
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb +5 -2
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/absurd_recognizer.rb +4 -5
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/assertion_recognizer.rb +6 -7
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/catalog.rb +1 -1
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/sig_parser.rb +2 -2
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet.rb +17 -21
- data/plugins/rigor-statesman/lib/rigor/plugin/statesman.rb +2 -3
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_discoverer.rb +3 -2
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_index.rb +4 -4
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer.rb +1 -1
- data/sig/rigor/analysis/baseline.rbs +0 -2
- data/sig/rigor/analysis/fact_store.rbs +1 -0
- data/sig/rigor/analysis/reachability/scan_cache.rbs +1 -1
- data/sig/rigor/cli/diff_command.rbs +1 -1
- data/sig/rigor/cli/explain_command.rbs +1 -1
- data/sig/rigor/effects/file_collection.rbs +5 -6
- data/sig/rigor/effects/registry.rbs +8 -6
- data/sig/rigor/effects/summary.rbs +6 -5
- data/sig/rigor/environment.rbs +5 -3
- data/sig/rigor/inference/optimistic_origin.rbs +11 -0
- data/sig/rigor/inference.rbs +10 -1
- data/sig/rigor/plugin/additional_initializer.rbs +0 -5
- data/sig/rigor/plugin/base.rbs +1 -0
- data/sig/rigor/plugin/effect_ancestry.rbs +6 -4
- data/sig/rigor/plugin/effect_attribution.rbs +25 -10
- data/sig/rigor/plugin/effect_edge.rbs +12 -5
- data/sig/rigor/plugin/effect_entry_points.rbs +8 -3
- data/sig/rigor/plugin/io_boundary.rbs +6 -5
- data/sig/rigor/plugin/manifest.rbs +16 -18
- data/sig/rigor/plugin/protocol_contract.rbs +6 -9
- data/sig/rigor/plugin/registry.rbs +1 -1
- data/sig/rigor/scope.rbs +51 -50
- data/sig/rigor/type.rbs +0 -6
- data/skills/rigor-plugin-author/SKILL.md +4 -4
- data/skills/rigor-plugin-author/references/02-walker-and-types.md +5 -5
- data/skills/rigor-plugin-review/SKILL.md +3 -3
- data/skills/rigor-project-init/references/03-baseline-and-bugs.md +12 -1
- metadata +55 -3
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rigortype
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rigor contributors
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 1980-01-
|
|
10
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: language_server-protocol
|
|
@@ -457,6 +457,8 @@ files:
|
|
|
457
457
|
- lib/rigor/analysis/check_rules/main_pass_collector.rb
|
|
458
458
|
- lib/rigor/analysis/check_rules/published_constant_guard.rb
|
|
459
459
|
- lib/rigor/analysis/check_rules/rbs_receiver_surface.rb
|
|
460
|
+
- lib/rigor/analysis/check_rules/rebinding_block_callees.rb
|
|
461
|
+
- lib/rigor/analysis/check_rules/rebinding_block_callees/dispatch.rb
|
|
460
462
|
- lib/rigor/analysis/check_rules/return_in_ensure_collector.rb
|
|
461
463
|
- lib/rigor/analysis/check_rules/ruby_deprecations.rb
|
|
462
464
|
- lib/rigor/analysis/check_rules/rule_ids.rb
|
|
@@ -477,6 +479,7 @@ files:
|
|
|
477
479
|
- lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb
|
|
478
480
|
- lib/rigor/analysis/dependency_source_inference/walker.rb
|
|
479
481
|
- lib/rigor/analysis/diagnostic.rb
|
|
482
|
+
- lib/rigor/analysis/edit_replay.rb
|
|
480
483
|
- lib/rigor/analysis/effects_cache_probe.rb
|
|
481
484
|
- lib/rigor/analysis/erb_template_detector.rb
|
|
482
485
|
- lib/rigor/analysis/fact_store.rb
|
|
@@ -493,10 +496,13 @@ files:
|
|
|
493
496
|
- lib/rigor/analysis/reachability/scan.rb
|
|
494
497
|
- lib/rigor/analysis/reachability/scan_cache.rb
|
|
495
498
|
- lib/rigor/analysis/reachability/signature_scan.rb
|
|
499
|
+
- lib/rigor/analysis/require_relative_closure.rb
|
|
496
500
|
- lib/rigor/analysis/result.rb
|
|
497
501
|
- lib/rigor/analysis/rule_catalog.rb
|
|
498
502
|
- lib/rigor/analysis/run_cache_key.rb
|
|
499
503
|
- lib/rigor/analysis/run_cache_probe.rb
|
|
504
|
+
- lib/rigor/analysis/run_disclosure_credit.rb
|
|
505
|
+
- lib/rigor/analysis/run_disclosure_ledger.rb
|
|
500
506
|
- lib/rigor/analysis/run_stats.rb
|
|
501
507
|
- lib/rigor/analysis/runner.rb
|
|
502
508
|
- lib/rigor/analysis/runner/buffer_pool_dispatcher.rb
|
|
@@ -507,7 +513,10 @@ files:
|
|
|
507
513
|
- lib/rigor/analysis/runner/envelope_messages.rb
|
|
508
514
|
- lib/rigor/analysis/runner/pool_coordinator.rb
|
|
509
515
|
- lib/rigor/analysis/runner/project_pre_passes.rb
|
|
516
|
+
- lib/rigor/analysis/runner/run_level_facts.rb
|
|
510
517
|
- lib/rigor/analysis/runner/run_snapshots.rb
|
|
518
|
+
- lib/rigor/analysis/runner/scan_environment.rb
|
|
519
|
+
- lib/rigor/analysis/runner/worker_payload.rb
|
|
511
520
|
- lib/rigor/analysis/self_call_resolution_recorder.rb
|
|
512
521
|
- lib/rigor/analysis/severity_stamp.rb
|
|
513
522
|
- lib/rigor/analysis/shadow_harness.rb
|
|
@@ -544,6 +553,7 @@ files:
|
|
|
544
553
|
- lib/rigor/cli.rb
|
|
545
554
|
- lib/rigor/cli/annotate_command.rb
|
|
546
555
|
- lib/rigor/cli/baseline_command.rb
|
|
556
|
+
- lib/rigor/cli/catalogue.rb
|
|
547
557
|
- lib/rigor/cli/check_command.rb
|
|
548
558
|
- lib/rigor/cli/check_invocation.rb
|
|
549
559
|
- lib/rigor/cli/check_runner_factory.rb
|
|
@@ -567,6 +577,7 @@ files:
|
|
|
567
577
|
- lib/rigor/cli/explain_command.rb
|
|
568
578
|
- lib/rigor/cli/fused_protection_renderer.rb
|
|
569
579
|
- lib/rigor/cli/fused_protection_report.rb
|
|
580
|
+
- lib/rigor/cli/json_document.rb
|
|
570
581
|
- lib/rigor/cli/lens_command.rb
|
|
571
582
|
- lib/rigor/cli/lsp_command.rb
|
|
572
583
|
- lib/rigor/cli/mcp_command.rb
|
|
@@ -593,6 +604,7 @@ files:
|
|
|
593
604
|
- lib/rigor/cli/triage_command.rb
|
|
594
605
|
- lib/rigor/cli/triage_renderer.rb
|
|
595
606
|
- lib/rigor/cli/type_of_command.rb
|
|
607
|
+
- lib/rigor/cli/type_of_project_scope.rb
|
|
596
608
|
- lib/rigor/cli/type_of_renderer.rb
|
|
597
609
|
- lib/rigor/cli/type_of_template_probe.rb
|
|
598
610
|
- lib/rigor/cli/type_scan_command.rb
|
|
@@ -652,7 +664,9 @@ files:
|
|
|
652
664
|
- lib/rigor/environment/bundle_sig_discovery.rb
|
|
653
665
|
- lib/rigor/environment/class_registry.rb
|
|
654
666
|
- lib/rigor/environment/constant_type_cache_holder.rb
|
|
667
|
+
- lib/rigor/environment/core_root.rb
|
|
655
668
|
- lib/rigor/environment/default_libraries.rb
|
|
669
|
+
- lib/rigor/environment/deferred_signature_plan.rb
|
|
656
670
|
- lib/rigor/environment/failure_slot.rb
|
|
657
671
|
- lib/rigor/environment/gated_signature_guard.rb
|
|
658
672
|
- lib/rigor/environment/gated_signature_plan.rb
|
|
@@ -662,6 +676,7 @@ files:
|
|
|
662
676
|
- lib/rigor/environment/member_consistency.rb
|
|
663
677
|
- lib/rigor/environment/member_consistency/comparator.rb
|
|
664
678
|
- lib/rigor/environment/missing_gem_constant_index.rb
|
|
679
|
+
- lib/rigor/environment/project_path_gems.rb
|
|
665
680
|
- lib/rigor/environment/rbs_collection_discovery.rb
|
|
666
681
|
- lib/rigor/environment/rbs_coverage_report.rb
|
|
667
682
|
- lib/rigor/environment/rbs_hierarchy.rb
|
|
@@ -669,7 +684,9 @@ files:
|
|
|
669
684
|
- lib/rigor/environment/reflection.rb
|
|
670
685
|
- lib/rigor/environment/reporters.rb
|
|
671
686
|
- lib/rigor/environment/required_features.rb
|
|
687
|
+
- lib/rigor/environment/ruby_library_roots.rb
|
|
672
688
|
- lib/rigor/environment/source_rbs_synthesis.rb
|
|
689
|
+
- lib/rigor/environment/vendored_signature_plan.rb
|
|
673
690
|
- lib/rigor/flow_contribution.rb
|
|
674
691
|
- lib/rigor/flow_contribution/conflict.rb
|
|
675
692
|
- lib/rigor/flow_contribution/element.rb
|
|
@@ -683,6 +700,7 @@ files:
|
|
|
683
700
|
- lib/rigor/inference/block_call_timing.rb
|
|
684
701
|
- lib/rigor/inference/block_parameter_binder.rb
|
|
685
702
|
- lib/rigor/inference/block_repetition.rb
|
|
703
|
+
- lib/rigor/inference/block_run_count.rb
|
|
686
704
|
- lib/rigor/inference/body_fixpoint.rb
|
|
687
705
|
- lib/rigor/inference/budget_trace.rb
|
|
688
706
|
- lib/rigor/inference/builtins/array_catalog.rb
|
|
@@ -706,9 +724,12 @@ files:
|
|
|
706
724
|
- lib/rigor/inference/builtins/string_catalog.rb
|
|
707
725
|
- lib/rigor/inference/builtins/struct_catalog.rb
|
|
708
726
|
- lib/rigor/inference/builtins/time_catalog.rb
|
|
727
|
+
- lib/rigor/inference/callee_mutation_chain.rb
|
|
728
|
+
- lib/rigor/inference/callee_write_census.rb
|
|
709
729
|
- lib/rigor/inference/captured_locals.rb
|
|
710
730
|
- lib/rigor/inference/clause_widening.rb
|
|
711
731
|
- lib/rigor/inference/closure_escape_analyzer.rb
|
|
732
|
+
- lib/rigor/inference/construction_escape.rb
|
|
712
733
|
- lib/rigor/inference/content_join.rb
|
|
713
734
|
- lib/rigor/inference/coverage_scanner.rb
|
|
714
735
|
- lib/rigor/inference/declaration_walk.rb
|
|
@@ -716,11 +737,14 @@ files:
|
|
|
716
737
|
- lib/rigor/inference/declaration_walk/errors.rb
|
|
717
738
|
- lib/rigor/inference/declaration_walk/shadow.rb
|
|
718
739
|
- lib/rigor/inference/declaration_walk/traversal.rb
|
|
740
|
+
- lib/rigor/inference/deep_erasure.rb
|
|
719
741
|
- lib/rigor/inference/def_handle.rb
|
|
720
742
|
- lib/rigor/inference/def_node_resolver.rb
|
|
721
743
|
- lib/rigor/inference/def_return_typer.rb
|
|
722
744
|
- lib/rigor/inference/define_method_block_self.rb
|
|
723
745
|
- lib/rigor/inference/definer_resolution.rb
|
|
746
|
+
- lib/rigor/inference/definers_index.rb
|
|
747
|
+
- lib/rigor/inference/direct_ivar_writes.rb
|
|
724
748
|
- lib/rigor/inference/dynamic_origin.rb
|
|
725
749
|
- lib/rigor/inference/element_read_widening.rb
|
|
726
750
|
- lib/rigor/inference/error_info.rb
|
|
@@ -732,6 +756,7 @@ files:
|
|
|
732
756
|
- lib/rigor/inference/fork_map.rb
|
|
733
757
|
- lib/rigor/inference/fresh_frame_blocks.rb
|
|
734
758
|
- lib/rigor/inference/global_write_census.rb
|
|
759
|
+
- lib/rigor/inference/global_writer_reach.rb
|
|
735
760
|
- lib/rigor/inference/guard_rebinding.rb
|
|
736
761
|
- lib/rigor/inference/hash_lookup_mutation.rb
|
|
737
762
|
- lib/rigor/inference/hkt_body.rb
|
|
@@ -747,6 +772,7 @@ files:
|
|
|
747
772
|
- lib/rigor/inference/index_write_widening.rb
|
|
748
773
|
- lib/rigor/inference/indexed_narrowing.rb
|
|
749
774
|
- lib/rigor/inference/intervening_ivar_reset.rb
|
|
775
|
+
- lib/rigor/inference/ivar_writer_census.rb
|
|
750
776
|
- lib/rigor/inference/jump_targets.rb
|
|
751
777
|
- lib/rigor/inference/key_presence_guard.rb
|
|
752
778
|
- lib/rigor/inference/key_presence_guard/scan.rb
|
|
@@ -754,14 +780,18 @@ files:
|
|
|
754
780
|
- lib/rigor/inference/last_line/implicit_self.rb
|
|
755
781
|
- lib/rigor/inference/last_line/self_evidence.rb
|
|
756
782
|
- lib/rigor/inference/last_status.rb
|
|
783
|
+
- lib/rigor/inference/loop_value_record.rb
|
|
757
784
|
- lib/rigor/inference/macro_block_self_type.rb
|
|
758
785
|
- lib/rigor/inference/match_rebinding.rb
|
|
759
786
|
- lib/rigor/inference/match_rebinding/calls.rb
|
|
760
787
|
- lib/rigor/inference/match_rebinding/frame.rb
|
|
761
788
|
- lib/rigor/inference/match_rebinding/operands.rb
|
|
762
789
|
- lib/rigor/inference/match_rebinding/self_calls.rb
|
|
790
|
+
- lib/rigor/inference/match_rebinding/yielding_match.rb
|
|
791
|
+
- lib/rigor/inference/memo_audit.rb
|
|
763
792
|
- lib/rigor/inference/method_dispatcher.rb
|
|
764
793
|
- lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb
|
|
794
|
+
- lib/rigor/inference/method_dispatcher/argument_distribution.rb
|
|
765
795
|
- lib/rigor/inference/method_dispatcher/argument_nodes.rb
|
|
766
796
|
- lib/rigor/inference/method_dispatcher/arithmetic_sequence_elements.rb
|
|
767
797
|
- lib/rigor/inference/method_dispatcher/array_to_h_folding.rb
|
|
@@ -769,6 +799,7 @@ files:
|
|
|
769
799
|
- lib/rigor/inference/method_dispatcher/call_context.rb
|
|
770
800
|
- lib/rigor/inference/method_dispatcher/cgi_folding.rb
|
|
771
801
|
- lib/rigor/inference/method_dispatcher/constant_folding.rb
|
|
802
|
+
- lib/rigor/inference/method_dispatcher/contested_overloads.rb
|
|
772
803
|
- lib/rigor/inference/method_dispatcher/data_folding.rb
|
|
773
804
|
- lib/rigor/inference/method_dispatcher/facet_distribution.rb
|
|
774
805
|
- lib/rigor/inference/method_dispatcher/file_folding.rb
|
|
@@ -784,6 +815,7 @@ files:
|
|
|
784
815
|
- lib/rigor/inference/method_dispatcher/math_folding.rb
|
|
785
816
|
- lib/rigor/inference/method_dispatcher/member_shape_projection.rb
|
|
786
817
|
- lib/rigor/inference/method_dispatcher/method_folding.rb
|
|
818
|
+
- lib/rigor/inference/method_dispatcher/no_match_fallback.rb
|
|
787
819
|
- lib/rigor/inference/method_dispatcher/optional_count.rb
|
|
788
820
|
- lib/rigor/inference/method_dispatcher/overload_selector.rb
|
|
789
821
|
- lib/rigor/inference/method_dispatcher/process_folding.rb
|
|
@@ -808,6 +840,7 @@ files:
|
|
|
808
840
|
- lib/rigor/inference/method_dispatcher/uri_folding.rb
|
|
809
841
|
- lib/rigor/inference/method_parameter_binder.rb
|
|
810
842
|
- lib/rigor/inference/module_function_state.rb
|
|
843
|
+
- lib/rigor/inference/module_function_state/spellings.rb
|
|
811
844
|
- lib/rigor/inference/multi_target_binder.rb
|
|
812
845
|
- lib/rigor/inference/mutation_rejoin.rb
|
|
813
846
|
- lib/rigor/inference/mutation_widening.rb
|
|
@@ -817,6 +850,7 @@ files:
|
|
|
817
850
|
- lib/rigor/inference/operand_walk.rb
|
|
818
851
|
- lib/rigor/inference/optimistic_origin.rb
|
|
819
852
|
- lib/rigor/inference/origin_lookup.rb
|
|
853
|
+
- lib/rigor/inference/out_buffer_mutation.rb
|
|
820
854
|
- lib/rigor/inference/parameter_inference_collector.rb
|
|
821
855
|
- lib/rigor/inference/pre_eval_constants.rb
|
|
822
856
|
- lib/rigor/inference/precision_scanner.rb
|
|
@@ -827,6 +861,7 @@ files:
|
|
|
827
861
|
- lib/rigor/inference/project_patched_scanner.rb
|
|
828
862
|
- lib/rigor/inference/project_patched_visibility.rb
|
|
829
863
|
- lib/rigor/inference/project_seed_tables.rb
|
|
864
|
+
- lib/rigor/inference/project_yielder.rb
|
|
830
865
|
- lib/rigor/inference/protection_scanner.rb
|
|
831
866
|
- lib/rigor/inference/range_constant.rb
|
|
832
867
|
- lib/rigor/inference/rbs_type_translator.rb
|
|
@@ -840,18 +875,28 @@ files:
|
|
|
840
875
|
- lib/rigor/inference/refined_dispatch/own_method.rb
|
|
841
876
|
- lib/rigor/inference/refinement_mutation.rb
|
|
842
877
|
- lib/rigor/inference/reflective_ivar_write.rb
|
|
878
|
+
- lib/rigor/inference/remover_holder_scan.rb
|
|
879
|
+
- lib/rigor/inference/remover_narrowing.rb
|
|
843
880
|
- lib/rigor/inference/repeated_or_writes.rb
|
|
844
881
|
- lib/rigor/inference/return_barrier.rb
|
|
845
882
|
- lib/rigor/inference/rewrite_mutation.rb
|
|
846
883
|
- lib/rigor/inference/scope_indexer.rb
|
|
847
884
|
- lib/rigor/inference/scope_indexer/certainty.rb
|
|
848
885
|
- lib/rigor/inference/scope_indexer/class_cvars_collector.rb
|
|
886
|
+
- lib/rigor/inference/scope_indexer/constant_ivar_value.rb
|
|
887
|
+
- lib/rigor/inference/scope_indexer/declared_ivar_types.rb
|
|
888
|
+
- lib/rigor/inference/scope_indexer/declared_param_writes.rb
|
|
849
889
|
- lib/rigor/inference/scope_indexer/def_nestings_collector.rb
|
|
890
|
+
- lib/rigor/inference/scope_indexer/derived_param_value.rb
|
|
891
|
+
- lib/rigor/inference/scope_indexer/empty_seed.rb
|
|
892
|
+
- lib/rigor/inference/scope_indexer/ivar_contributions.rb
|
|
850
893
|
- lib/rigor/inference/scope_indexer/layered_def_nestings.rb
|
|
851
894
|
- lib/rigor/inference/scope_indexer/member_layouts_collector.rb
|
|
852
895
|
- lib/rigor/inference/scope_indexer/mixin_accumulator.rb
|
|
853
896
|
- lib/rigor/inference/scope_indexer/superclasses_collector.rb
|
|
897
|
+
- lib/rigor/inference/scope_indexer/unseen_ivar_writers.rb
|
|
854
898
|
- lib/rigor/inference/self_call_ivar_writes.rb
|
|
899
|
+
- lib/rigor/inference/set_mutation.rb
|
|
855
900
|
- lib/rigor/inference/singleton_external_ahead.rb
|
|
856
901
|
- lib/rigor/inference/singleton_hook_decline.rb
|
|
857
902
|
- lib/rigor/inference/singleton_object_constant.rb
|
|
@@ -862,6 +907,8 @@ files:
|
|
|
862
907
|
- lib/rigor/inference/synthetic_method.rb
|
|
863
908
|
- lib/rigor/inference/synthetic_method_index.rb
|
|
864
909
|
- lib/rigor/inference/synthetic_method_scanner.rb
|
|
910
|
+
- lib/rigor/inference/synthetic_method_scanner/project_members.rb
|
|
911
|
+
- lib/rigor/inference/toplevel_def_census.rb
|
|
865
912
|
- lib/rigor/inference/unknown_store_widening.rb
|
|
866
913
|
- lib/rigor/inference/unthreaded_rebinds.rb
|
|
867
914
|
- lib/rigor/inference/untyped_rejoin.rb
|
|
@@ -872,6 +919,7 @@ files:
|
|
|
872
919
|
- lib/rigor/language_server/buffer_resolution.rb
|
|
873
920
|
- lib/rigor/language_server/buffer_table.rb
|
|
874
921
|
- lib/rigor/language_server/completion_provider.rb
|
|
922
|
+
- lib/rigor/language_server/config_warning_announcer.rb
|
|
875
923
|
- lib/rigor/language_server/debouncer.rb
|
|
876
924
|
- lib/rigor/language_server/diagnostic_publisher.rb
|
|
877
925
|
- lib/rigor/language_server/document_symbol_provider.rb
|
|
@@ -956,6 +1004,7 @@ files:
|
|
|
956
1004
|
- lib/rigor/reflection/constant_ancestors.rb
|
|
957
1005
|
- lib/rigor/reflection/constant_path.rb
|
|
958
1006
|
- lib/rigor/rooted_glob.rb
|
|
1007
|
+
- lib/rigor/run_scoped_slots.rb
|
|
959
1008
|
- lib/rigor/runtime/jit.rb
|
|
960
1009
|
- lib/rigor/scope.rb
|
|
961
1010
|
- lib/rigor/scope/discovery_index.rb
|
|
@@ -967,6 +1016,7 @@ files:
|
|
|
967
1016
|
- lib/rigor/sig_gen/declaration_equivalence.rb
|
|
968
1017
|
- lib/rigor/sig_gen/effect_annotation.rb
|
|
969
1018
|
- lib/rigor/sig_gen/generator.rb
|
|
1019
|
+
- lib/rigor/sig_gen/generic_header_scan.rb
|
|
970
1020
|
- lib/rigor/sig_gen/inline_declarations.rb
|
|
971
1021
|
- lib/rigor/sig_gen/layout_index.rb
|
|
972
1022
|
- lib/rigor/sig_gen/meta_class_shape.rb
|
|
@@ -979,6 +1029,7 @@ files:
|
|
|
979
1029
|
- lib/rigor/sig_gen/skip_reason_catalog.rb
|
|
980
1030
|
- lib/rigor/sig_gen/superclass_spelling.rb
|
|
981
1031
|
- lib/rigor/sig_gen/type_elaborator.rb
|
|
1032
|
+
- lib/rigor/sig_gen/type_name_qualification.rb
|
|
982
1033
|
- lib/rigor/sig_gen/write_reporter.rb
|
|
983
1034
|
- lib/rigor/sig_gen/write_result.rb
|
|
984
1035
|
- lib/rigor/sig_gen/writer.rb
|
|
@@ -1106,6 +1157,7 @@ files:
|
|
|
1106
1157
|
- plugins/rigor-activesupport-core-ext/lib/rigor-activesupport-core-ext.rb
|
|
1107
1158
|
- plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb
|
|
1108
1159
|
- plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb
|
|
1160
|
+
- plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/symbolize_keys.rb
|
|
1109
1161
|
- plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs
|
|
1110
1162
|
- plugins/rigor-alba/lib/rigor-alba.rb
|
|
1111
1163
|
- plugins/rigor-alba/lib/rigor/plugin/alba.rb
|
|
@@ -1417,7 +1469,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1417
1469
|
- !ruby/object:Gem::Version
|
|
1418
1470
|
version: '0'
|
|
1419
1471
|
requirements: []
|
|
1420
|
-
rubygems_version:
|
|
1472
|
+
rubygems_version: 3.7.2
|
|
1421
1473
|
specification_version: 4
|
|
1422
1474
|
summary: Inference-first static analysis for Ruby.
|
|
1423
1475
|
test_files: []
|