Module: Rigor

Defined in:
lib/rigor/source.rb,
lib/rigor/ast.rb,
lib/rigor/cli.rb,
lib/rigor/type.rb,
lib/rigor/scope.rb,
lib/rigor/testing.rb,
lib/rigor/trinary.rb,
lib/rigor/version.rb,
lib/rigor/type/bot.rb,
lib/rigor/type/top.rb,
lib/rigor/type/tuple.rb,
lib/rigor/type/union.rb,
lib/rigor/environment.rb,
lib/rigor/rbs_extended.rb,
lib/rigor/type/dynamic.rb,
lib/rigor/type/nominal.rb,
lib/rigor/ast/type_node.rb,
lib/rigor/configuration.rb,
lib/rigor/type/constant.rb,
lib/rigor/type/singleton.rb,
lib/rigor/analysis/result.rb,
lib/rigor/analysis/runner.rb,
lib/rigor/type/combinator.rb,
lib/rigor/type/hash_shape.rb,
lib/rigor/inference/fallback.rb,
lib/rigor/source/node_walker.rb,
lib/rigor/analysis/diagnostic.rb,
lib/rigor/analysis/fact_store.rb,
lib/rigor/cli/type_of_command.rb,
lib/rigor/inference/narrowing.rb,
lib/rigor/source/node_locator.rb,
lib/rigor/type/accepts_result.rb,
lib/rigor/analysis/check_rules.rb,
lib/rigor/cli/type_of_renderer.rb,
lib/rigor/cli/type_scan_report.rb,
lib/rigor/inference/acceptance.rb,
lib/rigor/cli/type_scan_command.rb,
lib/rigor/cli/type_scan_renderer.rb,
lib/rigor/environment/rbs_loader.rb,
lib/rigor/inference/scope_indexer.rb,
lib/rigor/environment/rbs_hierarchy.rb,
lib/rigor/inference/fallback_tracer.rb,
lib/rigor/environment/class_registry.rb,
lib/rigor/inference/coverage_scanner.rb,
lib/rigor/inference/expression_typer.rb,
lib/rigor/inference/method_dispatcher.rb,
lib/rigor/inference/multi_target_binder.rb,
lib/rigor/inference/rbs_type_translator.rb,
lib/rigor/inference/statement_evaluator.rb,
lib/rigor/inference/block_parameter_binder.rb,
lib/rigor/inference/closure_escape_analyzer.rb,
lib/rigor/inference/method_parameter_binder.rb,
lib/rigor/inference/method_dispatcher/rbs_dispatch.rb,
lib/rigor/inference/method_dispatcher/shape_dispatch.rb,
lib/rigor/inference/method_dispatcher/constant_folding.rb,
lib/rigor/inference/method_dispatcher/overload_selector.rb

Overview

Source-text and AST positioning utilities.

Anything that maps between a Ruby source buffer and Prism AST nodes belongs here. The contents of this namespace deliberately stay independent of the inference engine so that future tooling (LSP, refactoring helpers, doc extractors) can reuse the same primitives without dragging in ‘Rigor::Type`.

Defined Under Namespace

Modules: AST, Analysis, Inference, RbsExtended, Source, Testing, Type Classes: CLI, Configuration, Environment, Scope, Trinary

Constant Summary collapse

VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.assert_type(expected, value) ⇒ Object



61
62
63
# File 'lib/rigor/testing.rb', line 61

def assert_type(expected, value)
  Testing.assert_type(expected, value)
end

.dump_type(value) ⇒ Object

Convenience aliases on ‘Rigor` itself, so fixtures can write `Rigor.dump_type(x)` without an `include` line.



57
58
59
# File 'lib/rigor/testing.rb', line 57

def dump_type(value)
  Testing.dump_type(value)
end