Module: Rigor::Analysis::DependencySourceInference

Defined in:
lib/rigor/analysis/dependency_source_inference.rb,
lib/rigor/analysis/dependency_source_inference/index.rb,
lib/rigor/analysis/dependency_source_inference/walker.rb,
lib/rigor/analysis/dependency_source_inference/builder.rb,
lib/rigor/analysis/dependency_source_inference/gem_resolver.rb,
lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb,
lib/rigor/analysis/dependency_source_inference/boundary_cross_reporter.rb,
sig/rigor/analysis/dependency_source_inference/index.rbs,
sig/rigor/analysis/dependency_source_inference/gem_resolver.rbs,
sig/rigor/analysis/dependency_source_inference/gem_resolver.rbs

Overview

Implementation of ADR-10 — Opt-in dependency-source inference.

The namespace coordinates three components:

  • GemResolver maps a Configuration::Dependencies::Entry to either a frozen Resolved(gem_name, version, gem_dir, mode, roots) or an Unresolvable(gem_name, reason) value.
  • Builder.build folds a Configuration::Dependencies into a frozen Index carrying the partitioned outcomes.
  • Index holds the per-run state the dispatcher tier consults via #contribution_for; the method table is fully populated by Walker walking each resolved gem's roots:.

Defined Under Namespace

Modules: Builder, GemResolver, ReturnTypeHeuristic, Walker Classes: BoundaryCrossReporter, Index