rigortype 0.3.5 → 0.3.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 +5 -5
- data/data/builtins/ruby_core/date.yml +6 -3
- data/data/builtins/ruby_core/enumerable.yml +1 -0
- data/data/builtins/ruby_core/exception.yml +2 -1
- data/data/builtins/ruby_core/file.yml +28 -14
- data/data/builtins/ruby_core/hash.yml +5 -2
- data/data/builtins/ruby_core/io.yml +33 -16
- data/data/builtins/ruby_core/random.yml +2 -1
- data/data/builtins/ruby_core/re.yml +6 -3
- data/data/builtins/ruby_core/struct.yml +2 -0
- data/data/builtins/ruby_core/time.yml +2 -1
- data/data/gem_overlay/activesupport/core_ext.rbs +442 -11
- data/docs/handbook/02-everyday-types.md +1 -1
- data/docs/handbook/04-tuples-and-shapes.md +1 -1
- data/docs/handbook/08-understanding-errors.md +1 -1
- data/docs/handbook/09-plugins.md +2 -2
- data/docs/handbook/10-sorbet.md +1 -1
- data/docs/handbook/README.md +2 -2
- data/docs/handbook/appendix-go.md +1 -1
- data/docs/handbook/appendix-java-csharp.md +2 -2
- data/docs/handbook/appendix-mypy.md +1 -1
- data/docs/handbook/appendix-protocols-and-structural-typing.md +2 -2
- data/docs/handbook/appendix-rust.md +1 -1
- data/docs/handbook/appendix-type-theory.md +2 -2
- data/docs/handbook/appendix-typescript.md +4 -4
- data/docs/manual/02-cli-reference.md +29 -16
- data/docs/manual/03-configuration.md +1 -1
- data/docs/manual/04-diagnostics.md +12 -0
- data/docs/manual/05-inspecting-types.md +20 -8
- data/docs/manual/07-plugins.md +4 -0
- data/docs/manual/08-skills.md +1 -1
- data/docs/manual/11-ci.md +1 -1
- data/docs/manual/12-caching.md +1 -1
- data/docs/manual/15-type-protection-coverage.md +1 -1
- data/docs/manual/18-removing-dead-code.md +13 -4
- data/docs/manual/19-effect-labels.md +19 -12
- data/docs/manual/README.md +2 -2
- data/docs/manual/plugins/rigor-actionmailer.md +4 -4
- data/docs/manual/plugins/rigor-actionpack.md +61 -0
- data/docs/manual/plugins/rigor-activejob.md +3 -3
- data/docs/manual/plugins/rigor-activerecord.md +78 -5
- data/docs/manual/plugins/rigor-activesupport-core-ext.md +114 -12
- data/docs/manual/plugins/rigor-rails-i18n.md +5 -5
- data/docs/manual/plugins/rigor-rspec.md +6 -2
- data/docs/manual/plugins/rigor-sidekiq.md +22 -0
- data/lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb +12 -0
- data/lib/rigor/analysis/check_rules/dead_version_guard_arms.rb +98 -0
- data/lib/rigor/analysis/check_rules/ivar_write_collector.rb +3 -3
- data/lib/rigor/analysis/check_rules/published_constant_guard.rb +199 -0
- data/lib/rigor/analysis/check_rules/rule_walk.rb +1 -2
- data/lib/rigor/analysis/check_rules/self_closedness_scanner.rb +2 -2
- data/lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb +6 -12
- data/lib/rigor/analysis/check_rules.rb +383 -48
- data/lib/rigor/analysis/crash_signature.rb +116 -0
- data/lib/rigor/analysis/dependency_recorder.rb +18 -3
- data/lib/rigor/analysis/dependency_source_inference/walker.rb +2 -1
- data/lib/rigor/analysis/diagnostic.rb +17 -6
- data/lib/rigor/analysis/effects_cache_probe.rb +132 -0
- data/lib/rigor/analysis/incremental.rb +28 -0
- data/lib/rigor/analysis/incremental_session.rb +44 -9
- data/lib/rigor/analysis/plugin_fact_fingerprint.rb +1 -2
- data/lib/rigor/analysis/reachability/graph.rb +44 -16
- data/lib/rigor/analysis/reachability/plugin_roots.rb +11 -8
- data/lib/rigor/analysis/reachability/scan.rb +27 -7
- data/lib/rigor/analysis/reachability/scan_cache.rb +130 -0
- data/lib/rigor/analysis/result.rb +32 -0
- data/lib/rigor/analysis/run_cache_key.rb +53 -1
- data/lib/rigor/analysis/runner/diagnostic_aggregator.rb +93 -1
- data/lib/rigor/analysis/runner/effect_envelope_pass.rb +14 -8
- data/lib/rigor/analysis/runner/pool_coordinator.rb +34 -0
- data/lib/rigor/analysis/runner/project_pre_passes.rb +15 -11
- data/lib/rigor/analysis/runner/run_snapshots.rb +7 -2
- data/lib/rigor/analysis/runner.rb +298 -38
- data/lib/rigor/analysis/worker_session.rb +10 -1
- data/lib/rigor/bleeding_edge.rb +7 -6
- data/lib/rigor/builtins/hkt_builtins.rb +45 -6
- data/lib/rigor/builtins/predefined_constant_refinements.rb +108 -59
- data/lib/rigor/builtins/static_return_refinements.rb +20 -1
- data/lib/rigor/cache/descriptor.rb +42 -2
- data/lib/rigor/cache/file_digest.rb +20 -2
- data/lib/rigor/cache/incremental_snapshot.rb +40 -3
- data/lib/rigor/cache/rbs_environment_marshal_patch.rb +31 -8
- data/lib/rigor/cache/store.rb +10 -1
- data/lib/rigor/cli/check_command.rb +67 -48
- data/lib/rigor/cli/coverage_command.rb +28 -24
- data/lib/rigor/cli/coverage_mutation.rb +13 -17
- data/lib/rigor/cli/coverage_scan.rb +47 -6
- data/lib/rigor/cli/doc_links.rb +100 -0
- data/lib/rigor/cli/docs_command.rb +32 -2
- data/lib/rigor/cli/effects_command.rb +27 -2
- data/lib/rigor/cli/effects_diff_renderer.rb +82 -12
- data/lib/rigor/cli/effects_explain_renderer.rb +6 -3
- data/lib/rigor/cli/effects_snapshot_command.rb +52 -7
- data/lib/rigor/cli/fused_protection_renderer.rb +19 -2
- data/lib/rigor/cli/fused_protection_report.rb +23 -2
- data/lib/rigor/cli/measurement_integrity_warning.rb +57 -0
- data/lib/rigor/cli/mutation_protection_renderer.rb +22 -2
- data/lib/rigor/cli/mutation_protection_report.rb +31 -2
- data/lib/rigor/cli/sig_gen_command.rb +18 -0
- data/lib/rigor/cli/type_of_command.rb +188 -41
- data/lib/rigor/cli/type_of_renderer.rb +72 -3
- data/lib/rigor/cli/type_scan_command.rb +10 -1
- data/lib/rigor/cli/unused_command.rb +65 -16
- data/lib/rigor/cli.rb +22 -9
- data/lib/rigor/configuration.rb +7 -4
- data/lib/rigor/effects/definition_lines.rb +100 -0
- data/lib/rigor/effects/envelope_check.rb +18 -1
- data/lib/rigor/effects/liskov_check.rb +17 -8
- data/lib/rigor/effects/plugin_facts.rb +1 -1
- data/lib/rigor/effects/scanner.rb +2 -3
- data/lib/rigor/effects/signature_sources.rb +13 -2
- data/lib/rigor/effects/snapshot.rb +53 -21
- data/lib/rigor/effects/snapshot_diff.rb +26 -3
- data/lib/rigor/environment/bundle_sig_discovery.rb +64 -13
- data/lib/rigor/environment/lockfile_resolver.rb +15 -5
- data/lib/rigor/environment/missing_gem_constant_index.rb +45 -4
- data/lib/rigor/environment/rbs_hierarchy.rb +16 -22
- data/lib/rigor/environment/rbs_loader.rb +525 -46
- data/lib/rigor/environment.rb +38 -15
- data/lib/rigor/inference/acceptance.rb +172 -20
- data/lib/rigor/inference/captured_locals.rb +62 -0
- data/lib/rigor/inference/content_join.rb +347 -0
- data/lib/rigor/inference/def_handle.rb +15 -3
- data/lib/rigor/inference/def_node_resolver.rb +62 -3
- data/lib/rigor/inference/expression_typer.rb +1020 -141
- data/lib/rigor/inference/fork_map.rb +6 -1
- data/lib/rigor/inference/hkt_reducer.rb +12 -1
- data/lib/rigor/inference/hkt_registry.rb +46 -0
- data/lib/rigor/inference/hkt_sugar_translator.rb +93 -0
- data/lib/rigor/inference/index_write_widening.rb +48 -0
- data/lib/rigor/inference/indexed_narrowing.rb +14 -0
- data/lib/rigor/inference/method_dispatcher/block_folding.rb +7 -5
- data/lib/rigor/inference/method_dispatcher/constant_folding.rb +10 -0
- data/lib/rigor/inference/method_dispatcher/json_folding.rb +58 -0
- data/lib/rigor/inference/method_dispatcher/overload_selector.rb +81 -38
- data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +54 -17
- data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +1 -2
- data/lib/rigor/inference/method_dispatcher/singleton_mixin_dispatch.rb +63 -0
- data/lib/rigor/inference/method_dispatcher/struct_folding.rb +63 -10
- data/lib/rigor/inference/method_dispatcher/struct_materialization.rb +104 -0
- data/lib/rigor/inference/method_dispatcher/universal_object_dispatch.rb +81 -0
- data/lib/rigor/inference/method_dispatcher.rb +155 -14
- data/lib/rigor/inference/method_parameter_binder.rb +3 -3
- data/lib/rigor/inference/mutation_widening.rb +244 -174
- data/lib/rigor/inference/narrowing.rb +331 -27
- data/lib/rigor/inference/parameter_inference_collector.rb +1 -0
- data/lib/rigor/inference/pre_eval_constants.rb +15 -0
- data/lib/rigor/inference/precision_scanner.rb +5 -2
- data/lib/rigor/inference/project_patched_scanner.rb +2 -1
- data/lib/rigor/inference/rbs_type_translator.rb +89 -39
- data/lib/rigor/inference/scope_indexer.rb +1493 -140
- data/lib/rigor/inference/statement_evaluator.rb +276 -91
- data/lib/rigor/inference/struct_fold_safety.rb +186 -27
- data/lib/rigor/inference/synthetic_method_scanner.rb +7 -0
- data/lib/rigor/inference/version_guard.rb +229 -0
- data/lib/rigor/language_server/selection_range_provider.rb +1 -1
- data/lib/rigor/plugin/base.rb +3 -2
- data/lib/rigor/plugin/inflector.rb +14 -5
- data/lib/rigor/plugin/io_boundary.rb +107 -4
- data/lib/rigor/plugin/loader.rb +14 -0
- data/lib/rigor/protection/analysis_guard.rb +60 -0
- data/lib/rigor/protection/closure_kill_oracle.rb +43 -38
- data/lib/rigor/protection/diagnostic_oracle.rb +12 -4
- data/lib/rigor/protection/discovery_seed.rb +1 -1
- data/lib/rigor/protection/measurement_integrity.rb +36 -0
- data/lib/rigor/protection/mutation_scanner.rb +61 -6
- data/lib/rigor/protection/mutator.rb +121 -18
- data/lib/rigor/rbs_extended/envelope_scanner.rb +9 -0
- data/lib/rigor/reflection.rb +182 -30
- data/lib/rigor/scope/discovery_index.rb +39 -1
- data/lib/rigor/scope.rb +385 -4
- data/lib/rigor/sig_gen/classification.rb +12 -1
- data/lib/rigor/sig_gen/generator.rb +254 -5
- data/lib/rigor/sig_gen/renderer.rb +1 -6
- data/lib/rigor/sig_gen/writer.rb +3 -0
- data/lib/rigor/source/constant_path.rb +79 -2
- data/lib/rigor/triage/catalogue.rb +1 -1
- data/lib/rigor/type/combinator.rb +10 -0
- data/lib/rigor/type/maybe.rb +47 -0
- data/lib/rigor/type/refined.rb +1 -2
- data/lib/rigor/type/result.rb +53 -0
- data/lib/rigor/type.rb +2 -0
- data/lib/rigor/version.rb +1 -1
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/analyzer.rb +3 -1
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_discoverer.rb +58 -8
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_index.rb +15 -2
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +4 -1
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/analyzer.rb +3 -1
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_discoverer.rb +39 -14
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_index.rb +36 -3
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer.rb +6 -2
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/analyzer.rb +21 -5
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_discoverer.rb +47 -8
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_index.rb +13 -3
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack.rb +242 -4
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/analyzer.rb +3 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/effects.rb +7 -3
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/job_discoverer.rb +62 -11
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/job_index.rb +15 -2
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/recurring_scan.rb +3 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob.rb +5 -1
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/analyzer.rb +2 -2
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb +798 -22
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_index.rb +156 -13
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb +140 -40
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/analyzer.rb +2 -2
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/attachment_discoverer.rb +20 -6
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/attachment_index.rb +14 -4
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage.rb +6 -3
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb +23 -6
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb +264 -9
- data/plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs +876 -23
- data/plugins/rigor-dry-monads/lib/rigor/plugin/dry_monads.rb +99 -0
- data/plugins/rigor-dry-monads/lib/rigor-dry-monads.rb +5 -0
- data/plugins/rigor-ethon/lib/rigor/plugin/ethon.rb +34 -0
- data/plugins/rigor-ethon/lib/rigor-ethon.rb +3 -0
- data/plugins/rigor-ethon/sig/ethon.rbs +27 -0
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_discoverer.rb +3 -2
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/analyzer.rb +198 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/binding_recognizer.rb +75 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/catalog.rb +64 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/discoverer.rb +173 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/target_detector.rb +46 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/types.rb +161 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi.rb +121 -0
- data/plugins/rigor-ffi/lib/rigor-ffi.rb +3 -0
- data/plugins/rigor-ffi/sig/ffi.rbs +67 -0
- data/plugins/rigor-ffi-rzmq/lib/rigor/plugin/ffi_rzmq.rb +19 -0
- data/plugins/rigor-ffi-rzmq/lib/rigor-ffi-rzmq.rb +3 -0
- data/plugins/rigor-ffi-rzmq/sig/ffi_rzmq.rbs +29 -0
- data/plugins/rigor-graphql/lib/rigor/plugin/graphql/type_scanner.rb +2 -4
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/authorization_scan.rb +2 -1
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/policy_discoverer.rb +2 -1
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/locale_loader.rb +2 -1
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n.rb +2 -1
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes.rb +2 -1
- data/plugins/rigor-railties/lib/rigor/plugin/railties.rb +156 -11
- data/plugins/rigor-rbnacl/lib/rigor/plugin/rbnacl.rb +30 -0
- data/plugins/rigor-rbnacl/lib/rigor-rbnacl.rb +3 -0
- data/plugins/rigor-rbnacl/sig/rbnacl.rbs +22 -0
- data/plugins/rigor-sassc/lib/rigor/plugin/sassc.rb +55 -0
- data/plugins/rigor-sassc/lib/rigor-sassc.rb +3 -0
- data/plugins/rigor-sassc/sig/sassc.rbs +24 -0
- data/plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers/analyzer.rb +32 -11
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/analyzer.rb +3 -1
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/schedule_scan.rb +4 -1
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_discoverer.rb +63 -10
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_index.rb +15 -2
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb +61 -2
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/catalog_walker.rb +2 -2
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet.rb +4 -2
- data/sig/rigor/analysis/baseline.rbs +1 -1
- data/sig/rigor/environment.rbs +3 -0
- data/sig/rigor/inference.rbs +4 -1
- data/sig/rigor/plugin/io_boundary.rbs +2 -0
- data/sig/rigor/reflection.rbs +3 -1
- data/sig/rigor/scope.rbs +25 -1
- data/sig/rigor/type.rbs +95 -1
- data/sig/rigor.rbs +16 -0
- data/skills/rigor-ci-setup/SKILL.md +2 -2
- data/skills/rigor-editor-setup/SKILL.md +2 -2
- data/skills/rigor-mcp-setup/SKILL.md +2 -2
- data/skills/rigor-monkeypatch-resolve/SKILL.md +1 -1
- data/skills/rigor-plugin-review/SKILL.md +3 -3
- metadata +73 -3
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rigortype
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rigor contributors
|
|
@@ -115,7 +115,7 @@ dependencies:
|
|
|
115
115
|
requirements:
|
|
116
116
|
- - ">="
|
|
117
117
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: 0.
|
|
118
|
+
version: 0.5.0
|
|
119
119
|
- - "<"
|
|
120
120
|
- !ruby/object:Gem::Version
|
|
121
121
|
version: '1.0'
|
|
@@ -125,7 +125,7 @@ dependencies:
|
|
|
125
125
|
requirements:
|
|
126
126
|
- - ">="
|
|
127
127
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: 0.
|
|
128
|
+
version: 0.5.0
|
|
129
129
|
- - "<"
|
|
130
130
|
- !ruby/object:Gem::Version
|
|
131
131
|
version: '1.0'
|
|
@@ -249,6 +249,26 @@ dependencies:
|
|
|
249
249
|
- - "<"
|
|
250
250
|
- !ruby/object:Gem::Version
|
|
251
251
|
version: '4.0'
|
|
252
|
+
- !ruby/object:Gem::Dependency
|
|
253
|
+
name: test-prof
|
|
254
|
+
requirement: !ruby/object:Gem::Requirement
|
|
255
|
+
requirements:
|
|
256
|
+
- - ">="
|
|
257
|
+
- !ruby/object:Gem::Version
|
|
258
|
+
version: '1.6'
|
|
259
|
+
- - "<"
|
|
260
|
+
- !ruby/object:Gem::Version
|
|
261
|
+
version: '2.0'
|
|
262
|
+
type: :development
|
|
263
|
+
prerelease: false
|
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
265
|
+
requirements:
|
|
266
|
+
- - ">="
|
|
267
|
+
- !ruby/object:Gem::Version
|
|
268
|
+
version: '1.6'
|
|
269
|
+
- - "<"
|
|
270
|
+
- !ruby/object:Gem::Version
|
|
271
|
+
version: '2.0'
|
|
252
272
|
description: 'Rigor is a CLI-first static analyzer for Ruby applications that prioritizes
|
|
253
273
|
type inference, clean application code, and zero runtime dependencies. Rigor is
|
|
254
274
|
a standalone tool, not a library: install it independently rather than adding it
|
|
@@ -401,11 +421,13 @@ files:
|
|
|
401
421
|
- lib/rigor/analysis/check_rules.rb
|
|
402
422
|
- lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb
|
|
403
423
|
- lib/rigor/analysis/check_rules/dead_assignment_collector.rb
|
|
424
|
+
- lib/rigor/analysis/check_rules/dead_version_guard_arms.rb
|
|
404
425
|
- lib/rigor/analysis/check_rules/declaration_sourced_guard.rb
|
|
405
426
|
- lib/rigor/analysis/check_rules/duplicate_hash_key_collector.rb
|
|
406
427
|
- lib/rigor/analysis/check_rules/inferred_param_guard.rb
|
|
407
428
|
- lib/rigor/analysis/check_rules/ivar_write_collector.rb
|
|
408
429
|
- lib/rigor/analysis/check_rules/main_pass_collector.rb
|
|
430
|
+
- lib/rigor/analysis/check_rules/published_constant_guard.rb
|
|
409
431
|
- lib/rigor/analysis/check_rules/return_in_ensure_collector.rb
|
|
410
432
|
- lib/rigor/analysis/check_rules/rule_ids.rb
|
|
411
433
|
- lib/rigor/analysis/check_rules/rule_walk.rb
|
|
@@ -413,6 +435,7 @@ files:
|
|
|
413
435
|
- lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb
|
|
414
436
|
- lib/rigor/analysis/check_rules/unreachable_clause_collector.rb
|
|
415
437
|
- lib/rigor/analysis/check_rules/void_value_use_collector.rb
|
|
438
|
+
- lib/rigor/analysis/crash_signature.rb
|
|
416
439
|
- lib/rigor/analysis/dependency_recorder.rb
|
|
417
440
|
- lib/rigor/analysis/dependency_source_inference.rb
|
|
418
441
|
- lib/rigor/analysis/dependency_source_inference/boundary_cross_reporter.rb
|
|
@@ -422,6 +445,7 @@ files:
|
|
|
422
445
|
- lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb
|
|
423
446
|
- lib/rigor/analysis/dependency_source_inference/walker.rb
|
|
424
447
|
- lib/rigor/analysis/diagnostic.rb
|
|
448
|
+
- lib/rigor/analysis/effects_cache_probe.rb
|
|
425
449
|
- lib/rigor/analysis/erb_template_detector.rb
|
|
426
450
|
- lib/rigor/analysis/fact_store.rb
|
|
427
451
|
- lib/rigor/analysis/incremental.rb
|
|
@@ -433,6 +457,7 @@ files:
|
|
|
433
457
|
- lib/rigor/analysis/reachability/plugin_roots.rb
|
|
434
458
|
- lib/rigor/analysis/reachability/project_files.rb
|
|
435
459
|
- lib/rigor/analysis/reachability/scan.rb
|
|
460
|
+
- lib/rigor/analysis/reachability/scan_cache.rb
|
|
436
461
|
- lib/rigor/analysis/reachability/signature_scan.rb
|
|
437
462
|
- lib/rigor/analysis/result.rb
|
|
438
463
|
- lib/rigor/analysis/rule_catalog.rb
|
|
@@ -488,6 +513,7 @@ files:
|
|
|
488
513
|
- lib/rigor/cli/coverage_scan.rb
|
|
489
514
|
- lib/rigor/cli/diagnostic_formats.rb
|
|
490
515
|
- lib/rigor/cli/diff_command.rb
|
|
516
|
+
- lib/rigor/cli/doc_links.rb
|
|
491
517
|
- lib/rigor/cli/docs_command.rb
|
|
492
518
|
- lib/rigor/cli/doctor_command.rb
|
|
493
519
|
- lib/rigor/cli/effects_command.rb
|
|
@@ -501,6 +527,7 @@ files:
|
|
|
501
527
|
- lib/rigor/cli/fused_protection_report.rb
|
|
502
528
|
- lib/rigor/cli/lsp_command.rb
|
|
503
529
|
- lib/rigor/cli/mcp_command.rb
|
|
530
|
+
- lib/rigor/cli/measurement_integrity_warning.rb
|
|
504
531
|
- lib/rigor/cli/mutation_fork_scan.rb
|
|
505
532
|
- lib/rigor/cli/mutation_protection_renderer.rb
|
|
506
533
|
- lib/rigor/cli/mutation_protection_report.rb
|
|
@@ -540,6 +567,7 @@ files:
|
|
|
540
567
|
- lib/rigor/effects/catalog.rb
|
|
541
568
|
- lib/rigor/effects/collector.rb
|
|
542
569
|
- lib/rigor/effects/config_envelopes.rb
|
|
570
|
+
- lib/rigor/effects/definition_lines.rb
|
|
543
571
|
- lib/rigor/effects/discharge.rb
|
|
544
572
|
- lib/rigor/effects/effect_table.rb
|
|
545
573
|
- lib/rigor/effects/entry_points.rb
|
|
@@ -617,7 +645,9 @@ files:
|
|
|
617
645
|
- lib/rigor/inference/builtins/string_catalog.rb
|
|
618
646
|
- lib/rigor/inference/builtins/struct_catalog.rb
|
|
619
647
|
- lib/rigor/inference/builtins/time_catalog.rb
|
|
648
|
+
- lib/rigor/inference/captured_locals.rb
|
|
620
649
|
- lib/rigor/inference/closure_escape_analyzer.rb
|
|
650
|
+
- lib/rigor/inference/content_join.rb
|
|
621
651
|
- lib/rigor/inference/coverage_scanner.rb
|
|
622
652
|
- lib/rigor/inference/def_handle.rb
|
|
623
653
|
- lib/rigor/inference/def_node_resolver.rb
|
|
@@ -632,6 +662,8 @@ files:
|
|
|
632
662
|
- lib/rigor/inference/hkt_body_parser.rb
|
|
633
663
|
- lib/rigor/inference/hkt_reducer.rb
|
|
634
664
|
- lib/rigor/inference/hkt_registry.rb
|
|
665
|
+
- lib/rigor/inference/hkt_sugar_translator.rb
|
|
666
|
+
- lib/rigor/inference/index_write_widening.rb
|
|
635
667
|
- lib/rigor/inference/indexed_narrowing.rb
|
|
636
668
|
- lib/rigor/inference/macro_block_self_type.rb
|
|
637
669
|
- lib/rigor/inference/method_dispatcher.rb
|
|
@@ -643,6 +675,7 @@ files:
|
|
|
643
675
|
- lib/rigor/inference/method_dispatcher/data_folding.rb
|
|
644
676
|
- lib/rigor/inference/method_dispatcher/file_folding.rb
|
|
645
677
|
- lib/rigor/inference/method_dispatcher/iterator_dispatch.rb
|
|
678
|
+
- lib/rigor/inference/method_dispatcher/json_folding.rb
|
|
646
679
|
- lib/rigor/inference/method_dispatcher/kernel_dispatch.rb
|
|
647
680
|
- lib/rigor/inference/method_dispatcher/literal_string_folding.rb
|
|
648
681
|
- lib/rigor/inference/method_dispatcher/math_folding.rb
|
|
@@ -657,8 +690,11 @@ files:
|
|
|
657
690
|
- lib/rigor/inference/method_dispatcher/shape_dispatch.rb
|
|
658
691
|
- lib/rigor/inference/method_dispatcher/shellwords_folding.rb
|
|
659
692
|
- lib/rigor/inference/method_dispatcher/singleton_folding.rb
|
|
693
|
+
- lib/rigor/inference/method_dispatcher/singleton_mixin_dispatch.rb
|
|
660
694
|
- lib/rigor/inference/method_dispatcher/struct_folding.rb
|
|
695
|
+
- lib/rigor/inference/method_dispatcher/struct_materialization.rb
|
|
661
696
|
- lib/rigor/inference/method_dispatcher/time_folding.rb
|
|
697
|
+
- lib/rigor/inference/method_dispatcher/universal_object_dispatch.rb
|
|
662
698
|
- lib/rigor/inference/method_dispatcher/uri_folding.rb
|
|
663
699
|
- lib/rigor/inference/method_parameter_binder.rb
|
|
664
700
|
- lib/rigor/inference/multi_target_binder.rb
|
|
@@ -681,6 +717,7 @@ files:
|
|
|
681
717
|
- lib/rigor/inference/synthetic_method.rb
|
|
682
718
|
- lib/rigor/inference/synthetic_method_index.rb
|
|
683
719
|
- lib/rigor/inference/synthetic_method_scanner.rb
|
|
720
|
+
- lib/rigor/inference/version_guard.rb
|
|
684
721
|
- lib/rigor/inference/void_origin.rb
|
|
685
722
|
- lib/rigor/inference/void_tail_summary.rb
|
|
686
723
|
- lib/rigor/language_server.rb
|
|
@@ -736,11 +773,13 @@ files:
|
|
|
736
773
|
- lib/rigor/plugin/source_rbs_synthesis_reporter.rb
|
|
737
774
|
- lib/rigor/plugin/trust_policy.rb
|
|
738
775
|
- lib/rigor/plugin/type_node_resolver.rb
|
|
776
|
+
- lib/rigor/protection/analysis_guard.rb
|
|
739
777
|
- lib/rigor/protection/closure_kill_oracle.rb
|
|
740
778
|
- lib/rigor/protection/dependency_closure.rb
|
|
741
779
|
- lib/rigor/protection/diagnostic_oracle.rb
|
|
742
780
|
- lib/rigor/protection/discovery_seed.rb
|
|
743
781
|
- lib/rigor/protection/kill_signature.rb
|
|
782
|
+
- lib/rigor/protection/measurement_integrity.rb
|
|
744
783
|
- lib/rigor/protection/mutation_cache.rb
|
|
745
784
|
- lib/rigor/protection/mutation_scanner.rb
|
|
746
785
|
- lib/rigor/protection/mutator.rb
|
|
@@ -796,9 +835,11 @@ files:
|
|
|
796
835
|
- lib/rigor/type/hash_shape.rb
|
|
797
836
|
- lib/rigor/type/integer_range.rb
|
|
798
837
|
- lib/rigor/type/intersection.rb
|
|
838
|
+
- lib/rigor/type/maybe.rb
|
|
799
839
|
- lib/rigor/type/nominal.rb
|
|
800
840
|
- lib/rigor/type/plain_lattice.rb
|
|
801
841
|
- lib/rigor/type/refined.rb
|
|
842
|
+
- lib/rigor/type/result.rb
|
|
802
843
|
- lib/rigor/type/singleton.rb
|
|
803
844
|
- lib/rigor/type/struct_class.rb
|
|
804
845
|
- lib/rigor/type/struct_instance.rb
|
|
@@ -865,6 +906,8 @@ files:
|
|
|
865
906
|
- plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs
|
|
866
907
|
- plugins/rigor-devise/lib/rigor-devise.rb
|
|
867
908
|
- plugins/rigor-devise/lib/rigor/plugin/devise.rb
|
|
909
|
+
- plugins/rigor-dry-monads/lib/rigor-dry-monads.rb
|
|
910
|
+
- plugins/rigor-dry-monads/lib/rigor/plugin/dry_monads.rb
|
|
868
911
|
- plugins/rigor-dry-schema/lib/rigor-dry-schema.rb
|
|
869
912
|
- plugins/rigor-dry-schema/lib/rigor/plugin/dry_schema.rb
|
|
870
913
|
- plugins/rigor-dry-schema/lib/rigor/plugin/dry_schema/result_shape.rb
|
|
@@ -879,11 +922,26 @@ files:
|
|
|
879
922
|
- plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation/contract_scanner.rb
|
|
880
923
|
- plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation/params_shape.rb
|
|
881
924
|
- plugins/rigor-dry-validation/sig/dry_validation.rbs
|
|
925
|
+
- plugins/rigor-ethon/lib/rigor-ethon.rb
|
|
926
|
+
- plugins/rigor-ethon/lib/rigor/plugin/ethon.rb
|
|
927
|
+
- plugins/rigor-ethon/sig/ethon.rbs
|
|
882
928
|
- plugins/rigor-factorybot/lib/rigor-factorybot.rb
|
|
883
929
|
- plugins/rigor-factorybot/lib/rigor/plugin/factorybot.rb
|
|
884
930
|
- plugins/rigor-factorybot/lib/rigor/plugin/factorybot/analyzer.rb
|
|
885
931
|
- plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_discoverer.rb
|
|
886
932
|
- plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_index.rb
|
|
933
|
+
- plugins/rigor-ffi-rzmq/lib/rigor-ffi-rzmq.rb
|
|
934
|
+
- plugins/rigor-ffi-rzmq/lib/rigor/plugin/ffi_rzmq.rb
|
|
935
|
+
- plugins/rigor-ffi-rzmq/sig/ffi_rzmq.rbs
|
|
936
|
+
- plugins/rigor-ffi/lib/rigor-ffi.rb
|
|
937
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi.rb
|
|
938
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/analyzer.rb
|
|
939
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/binding_recognizer.rb
|
|
940
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/catalog.rb
|
|
941
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/discoverer.rb
|
|
942
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/target_detector.rb
|
|
943
|
+
- plugins/rigor-ffi/lib/rigor/plugin/ffi/types.rb
|
|
944
|
+
- plugins/rigor-ffi/sig/ffi.rbs
|
|
887
945
|
- plugins/rigor-graphql/lib/rigor-graphql.rb
|
|
888
946
|
- plugins/rigor-graphql/lib/rigor/plugin/graphql.rb
|
|
889
947
|
- plugins/rigor-graphql/lib/rigor/plugin/graphql/type_scanner.rb
|
|
@@ -922,6 +980,9 @@ files:
|
|
|
922
980
|
- plugins/rigor-railties/lib/rigor-railties.rb
|
|
923
981
|
- plugins/rigor-railties/lib/rigor/plugin/railties.rb
|
|
924
982
|
- plugins/rigor-railties/lib/rigor/plugin/railties/effects.rb
|
|
983
|
+
- plugins/rigor-rbnacl/lib/rigor-rbnacl.rb
|
|
984
|
+
- plugins/rigor-rbnacl/lib/rigor/plugin/rbnacl.rb
|
|
985
|
+
- plugins/rigor-rbnacl/sig/rbnacl.rbs
|
|
925
986
|
- plugins/rigor-rbs-inline/lib/rigor-rbs-inline.rb
|
|
926
987
|
- plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb
|
|
927
988
|
- plugins/rigor-rspec-rails/lib/rigor-rspec-rails.rb
|
|
@@ -935,6 +996,9 @@ files:
|
|
|
935
996
|
- plugins/rigor-rspec/lib/rigor/plugin/rspec/let_type_resolver.rb
|
|
936
997
|
- plugins/rigor-rspec/lib/rigor/plugin/rspec/matcher_analyzer.rb
|
|
937
998
|
- plugins/rigor-rspec/lib/rigor/plugin/rspec/scope_walker.rb
|
|
999
|
+
- plugins/rigor-sassc/lib/rigor-sassc.rb
|
|
1000
|
+
- plugins/rigor-sassc/lib/rigor/plugin/sassc.rb
|
|
1001
|
+
- plugins/rigor-sassc/sig/sassc.rbs
|
|
938
1002
|
- plugins/rigor-shoulda-matchers/lib/rigor-shoulda-matchers.rb
|
|
939
1003
|
- plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers.rb
|
|
940
1004
|
- plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers/analyzer.rb
|
|
@@ -1057,11 +1121,15 @@ require_paths:
|
|
|
1057
1121
|
- plugins/rigor-activestorage/lib
|
|
1058
1122
|
- plugins/rigor-activesupport-core-ext/lib
|
|
1059
1123
|
- plugins/rigor-devise/lib
|
|
1124
|
+
- plugins/rigor-dry-monads/lib
|
|
1060
1125
|
- plugins/rigor-dry-schema/lib
|
|
1061
1126
|
- plugins/rigor-dry-struct/lib
|
|
1062
1127
|
- plugins/rigor-dry-types/lib
|
|
1063
1128
|
- plugins/rigor-dry-validation/lib
|
|
1129
|
+
- plugins/rigor-ethon/lib
|
|
1064
1130
|
- plugins/rigor-factorybot/lib
|
|
1131
|
+
- plugins/rigor-ffi/lib
|
|
1132
|
+
- plugins/rigor-ffi-rzmq/lib
|
|
1065
1133
|
- plugins/rigor-graphql/lib
|
|
1066
1134
|
- plugins/rigor-hanami/lib
|
|
1067
1135
|
- plugins/rigor-mangrove/lib
|
|
@@ -1071,9 +1139,11 @@ require_paths:
|
|
|
1071
1139
|
- plugins/rigor-rails-i18n/lib
|
|
1072
1140
|
- plugins/rigor-rails-routes/lib
|
|
1073
1141
|
- plugins/rigor-railties/lib
|
|
1142
|
+
- plugins/rigor-rbnacl/lib
|
|
1074
1143
|
- plugins/rigor-rbs-inline/lib
|
|
1075
1144
|
- plugins/rigor-rspec/lib
|
|
1076
1145
|
- plugins/rigor-rspec-rails/lib
|
|
1146
|
+
- plugins/rigor-sassc/lib
|
|
1077
1147
|
- plugins/rigor-shoulda-matchers/lib
|
|
1078
1148
|
- plugins/rigor-sidekiq/lib
|
|
1079
1149
|
- plugins/rigor-sinatra/lib
|