rigortype 0.4.1 → 0.4.2
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/io.yml +1 -0
- data/data/builtins/ruby_core/proc.yml +4 -0
- data/data/builtins/ruby_core/random.yml +4 -0
- data/data/builtins/ruby_core/struct.yml +3 -0
- data/data/core_overlay/env.rbs +34 -0
- data/data/core_overlay/gc.rbs +50 -0
- data/data/core_overlay/hash.rbs +45 -0
- data/data/core_overlay/integer.rbs +31 -0
- data/data/core_overlay/io_buffer.rbs +27 -0
- data/data/core_overlay/kernel.rbs +40 -0
- data/data/core_overlay/match_data.rbs +28 -0
- data/data/core_overlay/module.rbs +51 -0
- data/data/core_overlay/object_space.rbs +29 -0
- data/data/core_overlay/proc.rbs +45 -0
- data/data/core_overlay/range.rbs +40 -0
- data/data/core_overlay/source_range.rbs +78 -0
- data/data/core_overlay/string.rbs +86 -0
- data/data/vendored_gem_sigs/prime/integer-extension.rbs +41 -0
- data/data/vendored_gem_sigs/prime/prime.rbs +372 -0
- data/docs/handbook/01-getting-started.md +3 -3
- data/docs/handbook/06-classes.md +3 -1
- data/docs/handbook/11-sig-gen.md +6 -0
- data/docs/handbook/appendix-liskov.md +5 -0
- data/docs/manual/03-configuration.md +1 -1
- data/docs/manual/04-diagnostics.md +2 -1
- data/docs/manual/06-baseline.md +2 -0
- data/docs/manual/07-plugins.md +1 -1
- data/docs/manual/18-removing-dead-code.md +32 -2
- data/docs/manual/plugins/README.md +6 -1
- data/docs/manual/plugins/rigor-activerecord.md +21 -0
- data/docs/manual/plugins/rigor-alba.md +60 -0
- data/docs/manual/plugins/rigor-minitest.md +22 -4
- data/docs/manual/plugins/rigor-typelizer.md +71 -0
- data/lib/rigor/analysis/check_rules/ivar_write_collector.rb +27 -3
- data/lib/rigor/analysis/check_rules/lexical_method_sites.rb +21 -92
- data/lib/rigor/analysis/check_rules/ruby_deprecations.rb +275 -0
- data/lib/rigor/analysis/check_rules/rule_ids.rb +4 -0
- data/lib/rigor/analysis/check_rules/source_arity.rb +21 -2
- data/lib/rigor/analysis/check_rules.rb +289 -57
- data/lib/rigor/analysis/dependency_recorder.rb +15 -0
- data/lib/rigor/analysis/dependency_source_inference/builder.rb +8 -1
- data/lib/rigor/analysis/dependency_source_inference/gem_resolver.rb +21 -0
- data/lib/rigor/analysis/dependency_source_inference/index.rb +36 -11
- data/lib/rigor/analysis/dependency_source_inference/walker.rb +196 -27
- data/lib/rigor/analysis/erb_template_detector.rb +2 -1
- data/lib/rigor/analysis/incremental.rb +29 -9
- data/lib/rigor/analysis/incremental_run_slot/write_guard.rb +30 -5
- data/lib/rigor/analysis/incremental_run_slot.rb +3 -1
- data/lib/rigor/analysis/incremental_session.rb +14 -1
- data/lib/rigor/analysis/reachability/graph.rb +123 -23
- data/lib/rigor/analysis/reachability/scan.rb +290 -36
- data/lib/rigor/analysis/rule_catalog.rb +43 -0
- data/lib/rigor/analysis/run_cache_key.rb +16 -1
- data/lib/rigor/analysis/runner/diagnostic_aggregator.rb +87 -5
- data/lib/rigor/analysis/runner/pool_coordinator.rb +50 -11
- data/lib/rigor/analysis/runner/run_snapshots.rb +6 -1
- data/lib/rigor/analysis/runner.rb +34 -3
- data/lib/rigor/analysis/worker_session.rb +7 -4
- data/lib/rigor/cache/incremental_snapshot.rb +22 -0
- data/lib/rigor/cli/annotate_command.rb +5 -0
- data/lib/rigor/cli/baseline_command.rb +7 -18
- data/lib/rigor/cli/check_command.rb +2 -1
- data/lib/rigor/cli/trace_command.rb +5 -0
- data/lib/rigor/cli/type_of_command.rb +5 -3
- data/lib/rigor/cli/unused_command.rb +13 -7
- data/lib/rigor/cli.rb +10 -2
- data/lib/rigor/configuration/severity_profile.rb +6 -0
- data/lib/rigor/configuration.rb +46 -2
- data/lib/rigor/environment/gated_signature_guard.rb +43 -0
- data/lib/rigor/environment/gated_signature_plan.rb +339 -0
- data/lib/rigor/environment/rbs_coverage_report.rb +1 -1
- data/lib/rigor/environment/rbs_loader.rb +283 -14
- data/lib/rigor/environment/required_features.rb +206 -0
- data/lib/rigor/environment.rb +21 -3
- data/lib/rigor/inference/acceptance.rb +28 -3
- data/lib/rigor/inference/builtins/cruby_definers.rb +61 -0
- data/lib/rigor/inference/builtins/method_catalog.rb +3 -0
- data/lib/rigor/inference/def_node_resolver.rb +23 -1
- data/lib/rigor/inference/expression_typer.rb +215 -16
- data/lib/rigor/inference/global_write_census.rb +7 -4
- data/lib/rigor/inference/guard_rebinding.rb +1 -1
- data/lib/rigor/inference/in_effect_refinements/proc_literals.rb +83 -0
- data/lib/rigor/inference/in_effect_refinements/refine_defs.rb +54 -0
- data/lib/rigor/inference/in_effect_refinements/scope_reads.rb +282 -0
- data/lib/rigor/inference/in_effect_refinements/walk.rb +276 -0
- data/lib/rigor/inference/in_effect_refinements.rb +256 -0
- data/lib/rigor/inference/key_presence_guard/scan.rb +281 -0
- data/lib/rigor/inference/key_presence_guard.rb +303 -0
- data/lib/rigor/inference/macro_block_self_type.rb +59 -12
- data/lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb +36 -0
- data/lib/rigor/inference/method_dispatcher/arithmetic_sequence_elements.rb +73 -0
- data/lib/rigor/inference/method_dispatcher/imprecise_argument.rb +68 -0
- data/lib/rigor/inference/method_dispatcher/integer_step_block_params.rb +81 -0
- data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +6 -0
- data/lib/rigor/inference/method_dispatcher/keyword_arguments.rb +267 -0
- data/lib/rigor/inference/method_dispatcher/method_folding.rb +2 -1
- data/lib/rigor/inference/method_dispatcher/overload_selector.rb +122 -105
- data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +259 -28
- data/lib/rigor/inference/method_dispatcher/splat_arity.rb +71 -0
- data/lib/rigor/inference/method_dispatcher.rb +44 -11
- data/lib/rigor/inference/module_function_state.rb +2 -1
- data/lib/rigor/inference/narrowing.rb +20 -6
- data/lib/rigor/inference/object_mixins.rb +180 -0
- data/lib/rigor/inference/project_patched_methods.rb +10 -5
- data/lib/rigor/inference/project_patched_scanner.rb +71 -3
- data/lib/rigor/inference/refine_census.rb +239 -0
- data/lib/rigor/inference/refine_self.rb +317 -0
- data/lib/rigor/inference/refined_dispatch/own_method.rb +403 -0
- data/lib/rigor/inference/refined_dispatch.rb +272 -0
- data/lib/rigor/inference/scope_indexer/mixin_accumulator.rb +13 -0
- data/lib/rigor/inference/scope_indexer.rb +687 -60
- data/lib/rigor/inference/statement_evaluator.rb +71 -20
- data/lib/rigor/inference/string_mutation.rb +9 -3
- data/lib/rigor/inference/synthetic_method_scanner.rb +2 -1
- data/lib/rigor/inference/version_guard.rb +19 -10
- data/lib/rigor/language_server/project_context.rb +31 -0
- data/lib/rigor/language_server/server.rb +18 -0
- data/lib/rigor/plugin/inflector.rb +1 -1
- data/lib/rigor/plugin/io_boundary.rb +42 -3
- data/lib/rigor/plugin/macro/block_as_method.rb +51 -8
- data/lib/rigor/project_environment.rb +29 -6
- data/lib/rigor/protection/mutation_cache.rb +1 -1
- data/lib/rigor/protection/mutator.rb +1 -1
- data/lib/rigor/reflection/constant_ancestors.rb +127 -11
- data/lib/rigor/reflection/constant_path.rb +13 -2
- data/lib/rigor/reflection.rb +40 -8
- data/lib/rigor/scope/discovery_index.rb +40 -1
- data/lib/rigor/scope/resolution_chain.rb +159 -11
- data/lib/rigor/scope.rb +189 -10
- data/lib/rigor/sig_gen/classification.rb +4 -1
- data/lib/rigor/sig_gen/generator.rb +55 -5
- data/lib/rigor/sig_gen/method_candidate.rb +2 -2
- data/lib/rigor/sig_gen/skip_reason_catalog.rb +12 -0
- data/lib/rigor/source/alias_names.rb +52 -0
- data/lib/rigor/source/literals.rb +3 -2
- data/lib/rigor/source/symbol_name.rb +20 -0
- data/lib/rigor/type/combinator.rb +34 -2
- data/lib/rigor/type/float_range.rb +4 -1
- data/lib/rigor/type/nominal.rb +6 -1
- data/lib/rigor/version.rb +1 -1
- data/plugins/rigor-ac-library-rb/lib/rigor/plugin/ac_library_rb.rb +28 -0
- data/plugins/rigor-ac-library-rb/lib/rigor-ac-library-rb.rb +3 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/convolution.rbs +7 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/data_structures.rbs +160 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/graph.rbs +94 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/math.rbs +42 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/modint.rbs +71 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/object.rbs +37 -0
- data/plugins/rigor-ac-library-rb/sig/ac_library_rb/segtree.rbs +83 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/analyzer.rb +2 -1
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/association_roots.rb +100 -0
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb +94 -10
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb +43 -2
- data/plugins/rigor-activerecord/sig/active_record/relation.rbs +3 -1
- data/plugins/rigor-alba/lib/rigor/plugin/alba/resource_collector.rb +149 -0
- data/plugins/rigor-alba/lib/rigor/plugin/alba/resource_discoverer.rb +74 -0
- data/plugins/rigor-alba/lib/rigor/plugin/alba/resource_index.rb +104 -0
- data/plugins/rigor-alba/lib/rigor/plugin/alba.rb +85 -0
- data/plugins/rigor-alba/lib/rigor-alba.rb +3 -0
- data/plugins/rigor-alba/sig/alba.rbs +4 -0
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/analyzer.rb +2 -2
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/target_detector.rb +29 -12
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi.rb +7 -6
- data/plugins/rigor-minitest/lib/rigor/plugin/minitest/assertion_analyzer.rb +130 -21
- data/plugins/rigor-minitest/lib/rigor/plugin/minitest.rb +6 -4
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/analyzer.rb +4 -4
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/analyzer.rb +1 -1
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/routes_parser.rb +1 -1
- data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb +31 -0
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_collector.rb +102 -0
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_discoverer.rb +87 -0
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_index.rb +76 -0
- data/plugins/rigor-typelizer/lib/rigor/plugin/typelizer.rb +73 -0
- data/plugins/rigor-typelizer/lib/rigor-typelizer.rb +3 -0
- data/sig/rigor/analysis/dependency_source_inference/index.rbs +1 -1
- data/sig/rigor/plugin/io_boundary.rbs +3 -0
- data/sig/rigor/scope.rbs +27 -4
- data/sig/rigor/source.rbs +4 -0
- data/sig/rigor.rbs +3 -1
- metadata +66 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rigor/plugin"
|
|
4
|
+
|
|
5
|
+
require_relative "typelizer/serializer_index"
|
|
6
|
+
require_relative "typelizer/serializer_collector"
|
|
7
|
+
require_relative "typelizer/serializer_discoverer"
|
|
8
|
+
|
|
9
|
+
module Rigor
|
|
10
|
+
module Plugin
|
|
11
|
+
# rigor-typelizer — roots the serializer classes the typelizer gem
|
|
12
|
+
# (https://github.com/skryukov/typelizer) generates TypeScript interfaces from, so `rigor unused` does not
|
|
13
|
+
# list them as removal candidates.
|
|
14
|
+
#
|
|
15
|
+
# typelizer's `Typelizer.target_serializers` is `base_classes + base_classes.flat_map(&:descendants)`, where
|
|
16
|
+
# `base_classes` holds every named class that ran `include Typelizer::DSL` or `extend Typelizer::DSL`. Such
|
|
17
|
+
# a class may never be referenced from Ruby and still be consumed by the frontend through the generated
|
|
18
|
+
# type, so the plugin publishes it — and every project subclass of it — as a `:reachability_roots` fact.
|
|
19
|
+
#
|
|
20
|
+
# The plugin adds no diagnostic and no return type. It models nothing at runtime: `reject_class` (a lambda
|
|
21
|
+
# in typelizer's configuration that can drop a class from the output) is not evaluated, so a rejected class
|
|
22
|
+
# is still rooted. That costs a hidden candidate, never a false report.
|
|
23
|
+
class Typelizer < Rigor::Plugin::Base
|
|
24
|
+
manifest(
|
|
25
|
+
id: "typelizer",
|
|
26
|
+
target_gems: ["typelizer"],
|
|
27
|
+
version: "0.1.0",
|
|
28
|
+
description: "Roots the serializer classes typelizer generates TypeScript interfaces from, " \
|
|
29
|
+
"for `rigor unused`.",
|
|
30
|
+
config_schema: {
|
|
31
|
+
# Typelizer::Railtie sets exactly these two when `Typelizer.dirs` is empty.
|
|
32
|
+
"dirs" => { kind: :array, default: %w[app/resources app/serializers] }
|
|
33
|
+
},
|
|
34
|
+
produces: [:reachability_roots]
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
producer :serializer_index, watch: -> { watch_globs } do |_params|
|
|
38
|
+
SerializerDiscoverer.new(io_boundary: io_boundary, dirs: @dirs, project_paths: @project_paths).discover
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def init(services)
|
|
42
|
+
@dirs = Array(config.fetch("dirs")).map(&:to_s)
|
|
43
|
+
@project_paths = Array(services.configuration.paths).map(&:to_s)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def prepare(services)
|
|
47
|
+
index = producer_value(:serializer_index)
|
|
48
|
+
return if index.nil?
|
|
49
|
+
|
|
50
|
+
roots = index.roots
|
|
51
|
+
return if roots.empty?
|
|
52
|
+
|
|
53
|
+
services.fact_store.publish(plugin_id: manifest.id, name: :reachability_roots, value: roots)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
private
|
|
57
|
+
|
|
58
|
+
# Superclass resolution reads every file of the project's `paths:` (a shadowing `Admin::Base` may live
|
|
59
|
+
# outside `dirs`), so all of them are watched, not only `dirs`.
|
|
60
|
+
def watch_globs
|
|
61
|
+
(@dirs + @project_paths).filter_map do |entry|
|
|
62
|
+
if io_boundary.directory?(File.expand_path(entry))
|
|
63
|
+
[entry, "**/*.rb"]
|
|
64
|
+
elsif entry.end_with?(".rb") && io_boundary.file?(File.expand_path(entry))
|
|
65
|
+
[File.dirname(entry), File.basename(entry)]
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Rigor::Plugin.register(Typelizer)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -2,7 +2,7 @@ module Rigor
|
|
|
2
2
|
module Analysis
|
|
3
3
|
module DependencySourceInference
|
|
4
4
|
class Index
|
|
5
|
-
def initialize: (?resolved_gems: untyped, ?unresolvable: untyped, ?method_catalog: untyped, ?budget_exceeded: untyped, ?class_to_gem: untyped, ?budget_overrun_strategy: untyped) -> void
|
|
5
|
+
def initialize: (?resolved_gems: untyped, ?unresolvable: untyped, ?method_catalog: untyped, ?budget_exceeded: untyped, ?class_to_gem: untyped, ?budget_overrun_strategy: untyped, ?gem_modes: untyped, ?refinements: untyped) -> void
|
|
6
6
|
end
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -4,6 +4,9 @@ class Rigor::Plugin::IoBoundary
|
|
|
4
4
|
def file?: (untyped) -> bool
|
|
5
5
|
def directory?: (untyped) -> bool
|
|
6
6
|
def list_directory: (untyped) -> Array[String]
|
|
7
|
+
# Records a `:names` glob row (membership only); a caller needing a match's content `read_file`s it. A `..`
|
|
8
|
+
# segment, a brace or a backslash in `pattern` raises `AccessDeniedError`.
|
|
9
|
+
def glob: (untyped root, untyped pattern) -> Array[String]
|
|
7
10
|
# sig-gen gap: #1156 — the generator pins the empty-summary literal (`count: 0, first_path: nil`); the
|
|
8
11
|
# record's fields are the running count and the first refused path, nil when nothing was refused.
|
|
9
12
|
def refusal_summary: () -> { count: Integer, first_path: String?, nearest_root: String? }?
|
data/sig/rigor/scope.rbs
CHANGED
|
@@ -29,6 +29,10 @@ module Rigor
|
|
|
29
29
|
attr_reader opaque_block_self: bool
|
|
30
30
|
# sig-gen gap: #1154 — sig-gen skips the reader (sig.skipped.untyped-return): an `attr_reader`
|
|
31
31
|
# over an ivar assigned in `initialize` from a parameter, so inference reaches `untyped`.
|
|
32
|
+
# Issue #1759 — `:refinement` (REFINEMENT_BLOCK_SELF) directly in a `refine X do … end` block body.
|
|
33
|
+
attr_reader block_self_unknown: bool | :refinement
|
|
34
|
+
# sig-gen gap: #1154 — sig-gen skips the reader (sig.skipped.untyped-return): an `attr_reader`
|
|
35
|
+
# over an ivar assigned in `initialize` from a parameter, so inference reaches `untyped`.
|
|
32
36
|
attr_reader singleton_class_body: bool
|
|
33
37
|
attr_reader lexical_nesting: Array[String]?
|
|
34
38
|
# Issue #1429 — a guard's narrowing of a constant reference, keyed by its spelling.
|
|
@@ -40,6 +44,9 @@ module Rigor
|
|
|
40
44
|
# Issue #1446 — the classes a class guard narrowed a `bot` receiver to.
|
|
41
45
|
# sig-gen gap: #1154 — a reader over an ivar `initialize` assigns from a parameter.
|
|
42
46
|
attr_reader bot_guard_classes: Hash[[Symbol, Symbol | String], Array[String]]
|
|
47
|
+
# Issue #1667 — the modules a plugin-declared refined block runs under, in declaration order.
|
|
48
|
+
# sig-gen gap: #1154 — a reader over an ivar `initialize` assigns from a parameter.
|
|
49
|
+
attr_reader declared_refinements: Array[String]
|
|
43
50
|
|
|
44
51
|
# ADR-53 Track A — the seed-time discovery tables live on the
|
|
45
52
|
# DiscoveryIndex; Scope keeps per-table readers as delegates.
|
|
@@ -64,8 +71,11 @@ module Rigor
|
|
|
64
71
|
# deferred-range table's row shape is hand-written.
|
|
65
72
|
def discovered_deferred_ranges: () -> Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]]
|
|
66
73
|
# sig-gen gap: #1148 — sig-gen skips the endless-def reader (untyped return), so the refinement table's
|
|
67
|
-
# shape is hand-written.
|
|
68
|
-
def discovered_refinements: () -> Hash[String, Hash[Symbol, Array[String]]]
|
|
74
|
+
# shape is hand-written. A method key is a Symbol or the `"*"` wildcard (ADR-121 WD7).
|
|
75
|
+
def discovered_refinements: () -> Hash[String, Hash[Symbol | String, Array[String]]]
|
|
76
|
+
# authored: the list holds module names and the `InEffectRefinements::UNKNOWN` Symbol; sig-gen reads the delegated
|
|
77
|
+
# return through an unsigned class as untyped.
|
|
78
|
+
def in_effect_refinements: (untyped node, ?Array[String] declared) -> Array[String | Symbol]
|
|
69
79
|
# sig-gen gap: #1148 — sig-gen skips the endless-def reader (untyped return), so the census shape is
|
|
70
80
|
# hand-written.
|
|
71
81
|
def discovered_global_write_census: () -> Set[Array[untyped]]
|
|
@@ -144,7 +154,7 @@ module Rigor
|
|
|
144
154
|
# sig-gen gap: #1150 — `Data.define` members carry no type, as for every other row in this class.
|
|
145
155
|
attr_reader discovered_deferred_ranges: Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]]
|
|
146
156
|
# sig-gen gap: #1150 — `Data.define` members carry no type, as for every other row in this class.
|
|
147
|
-
attr_reader discovered_refinements: Hash[String, Hash[Symbol, Array[String]]]
|
|
157
|
+
attr_reader discovered_refinements: Hash[String, Hash[Symbol | String, Array[String]]]
|
|
148
158
|
# sig-gen gap: #1150 — `Data.define` members carry no type, as for every other row in this class.
|
|
149
159
|
attr_reader discovered_global_write_census: Set[Array[untyped]]
|
|
150
160
|
attr_reader run_generation: Object?
|
|
@@ -157,6 +167,9 @@ module Rigor
|
|
|
157
167
|
# `untyped`: the value is an `Inference::LastLine::SelfEvidence` (or nil), and that class carries no signature,
|
|
158
168
|
# as `Inference::MatchRebinding::Frame` carries none for `match_frame`.
|
|
159
169
|
attr_reader implicit_self_evidence: untyped
|
|
170
|
+
# sig-gen gap: #1150 — `Data.define` members carry no type; the value is an `Inference::InEffectRefinements`
|
|
171
|
+
# (or nil), which carries no signature either.
|
|
172
|
+
attr_reader in_effect_refinements: untyped
|
|
160
173
|
# sig-gen gap: #1150 — `Data.define` members carry no type, as for every other row in this class.
|
|
161
174
|
attr_reader possible_discovered_methods: Hash[String, Hash[Symbol, Symbol]]
|
|
162
175
|
# sig-gen gap: #1150 — `Data.define` members carry no type, as for every other row in this class.
|
|
@@ -188,7 +201,7 @@ module Rigor
|
|
|
188
201
|
# authored: ADR-119 WD1 sibling pairing; no inferred signature exists for it (#1150).
|
|
189
202
|
def sibling_tables: () -> Hash[Symbol, untyped]
|
|
190
203
|
|
|
191
|
-
def with: (?declared_types: Hash[untyped, Type::t], ?class_ivars: Hash[String, Hash[Symbol, Type::t]], ?class_cvars: Hash[String, Hash[Symbol, Type::t]], ?program_globals: Hash[Symbol, Type::t], ?program_global_seeds: Hash[Symbol, Type::t], ?discovered_classes: Hash[String, Type::Singleton], ?in_source_constants: Hash[String, Type::t], ?discovered_methods: Hash[String, Hash[Symbol, Symbol]], ?discovered_def_nodes: Hash[String, Hash[Symbol, untyped]], ?discovered_def_nestings: Hash[untyped, Array[String]], ?discovered_singleton_def_nodes: Hash[String, Hash[Symbol, untyped]], ?discovered_def_sources: Hash[String, Hash[Symbol, String]], ?discovered_singleton_def_sources: Hash[String, Hash[Symbol, String]], ?discovered_method_visibilities: Hash[String, Hash[Symbol, Symbol]], ?discovered_parameter_envelopes: Hash[String, Hash[untyped, untyped]], ?discovered_superclasses: Hash[String, String], ?discovered_includes: Hash[String, Array[String]], ?discovered_prepends: Hash[String, Array[String]], ?discovered_extends: Hash[String, Array[String]], ?discovered_class_sources: Hash[String, Set[String]], ?constant_sources: Hash[String, Set[String]], ?constant_writers: Hash[String, Array[String]], ?constant_shadowers: Hash[String, Array[String]], ?published_constant_names: Set[String], ?local_constant_names: Set[String], ?published_constant_alias_names: Set[String], ?published_constant_ivars: Hash[String, Set[Symbol]], ?data_member_layouts: Hash[String, Array[Symbol]], ?struct_member_layouts: Hash[String, { members: Array[Symbol], keyword_init: bool }], ?param_inferred_types: Hash[[String, Symbol, Symbol], Hash[Symbol, Type::t]], ?discovered_deferred_ranges: Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]], ?discovered_refinements: Hash[String, Hash[Symbol, Array[String]]], ?discovered_global_write_census: Set[Array[untyped]], ?run_generation: Object?, ?patched_line_readers: Set[Symbol], ?clears_last_status: bool, ?defines_case_equality: bool, ?implicit_self_evidence: untyped, ?possible_discovered_methods: Hash[String, Hash[Symbol, Symbol]], ?possible_discovered_deferred_ranges: Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]], ?contested_discovered_def_nodes: Set[Array[untyped]], ?contested_discovered_singleton_def_nodes: Set[Array[untyped]], ?contested_discovered_method_visibilities: Set[Array[untyped]], ?contested_discovered_parameter_envelopes: Set[Array[untyped]]) -> DiscoveryIndex
|
|
204
|
+
def with: (?declared_types: Hash[untyped, Type::t], ?class_ivars: Hash[String, Hash[Symbol, Type::t]], ?class_cvars: Hash[String, Hash[Symbol, Type::t]], ?program_globals: Hash[Symbol, Type::t], ?program_global_seeds: Hash[Symbol, Type::t], ?discovered_classes: Hash[String, Type::Singleton], ?in_source_constants: Hash[String, Type::t], ?discovered_methods: Hash[String, Hash[Symbol, Symbol]], ?discovered_def_nodes: Hash[String, Hash[Symbol, untyped]], ?discovered_def_nestings: Hash[untyped, Array[String]], ?discovered_singleton_def_nodes: Hash[String, Hash[Symbol, untyped]], ?discovered_def_sources: Hash[String, Hash[Symbol, String]], ?discovered_singleton_def_sources: Hash[String, Hash[Symbol, String]], ?discovered_method_visibilities: Hash[String, Hash[Symbol, Symbol]], ?discovered_parameter_envelopes: Hash[String, Hash[untyped, untyped]], ?discovered_superclasses: Hash[String, String], ?discovered_includes: Hash[String, Array[String]], ?discovered_prepends: Hash[String, Array[String]], ?discovered_extends: Hash[String, Array[String]], ?discovered_class_sources: Hash[String, Set[String]], ?constant_sources: Hash[String, Set[String]], ?constant_writers: Hash[String, Array[String]], ?constant_shadowers: Hash[String, Array[String]], ?published_constant_names: Set[String], ?local_constant_names: Set[String], ?published_constant_alias_names: Set[String], ?published_constant_ivars: Hash[String, Set[Symbol]], ?data_member_layouts: Hash[String, Array[Symbol]], ?struct_member_layouts: Hash[String, { members: Array[Symbol], keyword_init: bool }], ?param_inferred_types: Hash[[String, Symbol, Symbol], Hash[Symbol, Type::t]], ?discovered_deferred_ranges: Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]], ?discovered_refinements: Hash[String, Hash[Symbol | String, Array[String]]], ?discovered_global_write_census: Set[Array[untyped]], ?run_generation: Object?, ?patched_line_readers: Set[Symbol], ?clears_last_status: bool, ?defines_case_equality: bool, ?implicit_self_evidence: untyped, ?in_effect_refinements: untyped, ?possible_discovered_methods: Hash[String, Hash[Symbol, Symbol]], ?possible_discovered_deferred_ranges: Hash[String, Array[[Integer, Integer, Symbol?, Symbol?, String?]]], ?contested_discovered_def_nodes: Set[Array[untyped]], ?contested_discovered_singleton_def_nodes: Set[Array[untyped]], ?contested_discovered_method_visibilities: Set[Array[untyped]], ?contested_discovered_parameter_envelopes: Set[Array[untyped]]) -> DiscoveryIndex
|
|
192
205
|
end
|
|
193
206
|
|
|
194
207
|
class IndexedKey
|
|
@@ -211,8 +224,15 @@ module Rigor
|
|
|
211
224
|
def with_lexical_nesting: (Array[String]? chain) -> Scope
|
|
212
225
|
def struct_fold_safe?: (String | Symbol name) -> bool
|
|
213
226
|
def entering_opaque_block: () -> Scope
|
|
227
|
+
# sig-gen gap: #1148 — sig-gen skips the endless-def reader (sig.skipped.untyped-return); the row is hand-written.
|
|
228
|
+
def block_self_unknown?: () -> bool
|
|
229
|
+
REFINEMENT_BLOCK_SELF: :refinement
|
|
230
|
+
# sig-gen gap: #1148 — sig-gen skips the endless-def predicate (sig.skipped.untyped-return); the row is hand-written.
|
|
231
|
+
def refinement_block_self?: () -> bool
|
|
232
|
+
def with_block_self_unknown: (bool flag) -> Scope
|
|
214
233
|
def opaque_block_self?: () -> bool
|
|
215
234
|
def with_singleton_class_body: (bool) -> Scope
|
|
235
|
+
def with_declared_refinements: (Array[String] names) -> Scope
|
|
216
236
|
# sig-gen gap: #1148 — sig-gen skips the endless-def reader (sig.skipped.untyped-return); the row is hand-written.
|
|
217
237
|
def singleton_class_body?: () -> bool
|
|
218
238
|
def with_discovery: (DiscoveryIndex index) -> Scope
|
|
@@ -337,6 +357,7 @@ module Rigor
|
|
|
337
357
|
def singleton_extends_of: (String | Symbol class_name) -> Array[String]
|
|
338
358
|
def indexed_narrowing: (Symbol receiver_kind, String | Symbol receiver_name, untyped key) -> Type::t?
|
|
339
359
|
def with_indexed_narrowing: (Symbol receiver_kind, String | Symbol receiver_name, untyped key, Type::t type) -> Scope
|
|
360
|
+
def with_isolated_side_tables: () -> Scope
|
|
340
361
|
def without_indexed_narrowing: (Symbol receiver_kind, String | Symbol receiver_name, untyped key) -> Scope
|
|
341
362
|
def without_indexed_narrowings_for: (Symbol receiver_kind, String | Symbol receiver_name) -> Scope
|
|
342
363
|
def method_chain_narrowing: (Symbol receiver_kind, String | Symbol receiver_name, String | Symbol method_name) -> Type::t?
|
|
@@ -345,6 +366,8 @@ module Rigor
|
|
|
345
366
|
def without_method_chain_narrowings_for: (Symbol receiver_kind, String | Symbol receiver_name) -> Scope
|
|
346
367
|
def with_fact: (Analysis::FactStore::Fact fact) -> Scope
|
|
347
368
|
def with_self_type: (Type::t? type) -> Scope
|
|
369
|
+
def with_block_self_type: (Type::t? type, ?keeps_unknown: bool | :refinement) -> Scope
|
|
370
|
+
def block_self_narrowing_unknown?: (Prism::CallNode call_node) -> bool
|
|
348
371
|
def facts_for: (?target: Analysis::FactStore::Target?, ?bucket: Symbol?) -> Array[Analysis::FactStore::Fact]
|
|
349
372
|
def local_facts: (String | Symbol name, ?bucket: Symbol?) -> Array[Analysis::FactStore::Fact]
|
|
350
373
|
def type_of: (untyped node, ?tracer: Inference::FallbackTracer?) -> Type::t
|
data/sig/rigor/source.rbs
CHANGED
|
@@ -21,6 +21,10 @@ module Rigor
|
|
|
21
21
|
def self?.symbol_arg: (untyped? call_node, Integer index) -> Symbol?
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
module SymbolName
|
|
25
|
+
def self?.of: (String? text) -> Symbol?
|
|
26
|
+
end
|
|
27
|
+
|
|
24
28
|
module NodeWalker
|
|
25
29
|
def self?.each: (untyped root) { (untyped) -> void } -> nil
|
|
26
30
|
| (untyped root) -> Enumerator[untyped, nil]
|
data/sig/rigor.rbs
CHANGED
|
@@ -14,7 +14,9 @@ module Rigor
|
|
|
14
14
|
def self.load: (?String? path) -> Configuration
|
|
15
15
|
def self.discover: () -> String?
|
|
16
16
|
def self.load_with_includes: (String path, ?visited: Set[String]) -> Hash[String, untyped]
|
|
17
|
-
def initialize: (?Hash[String, untyped] data, ?bool effects_key_present) -> void
|
|
17
|
+
def initialize: (?Hash[String, untyped] data, ?bool effects_key_present, ?bool target_ruby_key_present) -> void
|
|
18
|
+
def target_ruby_explicit?: () -> bool
|
|
19
|
+
def stated_runtime_ruby: () -> String?
|
|
18
20
|
def to_h: () -> Hash[String, untyped]
|
|
19
21
|
# ADR-103 WD13 — the `effects:` block, nil when the key was absent. Presence is the opt-in.
|
|
20
22
|
attr_reader effects: Hash[String, untyped]?
|
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.4.
|
|
4
|
+
version: 0.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rigor contributors
|
|
@@ -310,12 +310,25 @@ files:
|
|
|
310
310
|
- data/core_overlay/csv.rbs
|
|
311
311
|
- data/core_overlay/enumerable.rbs
|
|
312
312
|
- data/core_overlay/enumerator.rbs
|
|
313
|
+
- data/core_overlay/env.rbs
|
|
314
|
+
- data/core_overlay/gc.rbs
|
|
315
|
+
- data/core_overlay/hash.rbs
|
|
313
316
|
- data/core_overlay/hash_rbs3.rbs
|
|
317
|
+
- data/core_overlay/integer.rbs
|
|
318
|
+
- data/core_overlay/io_buffer.rbs
|
|
319
|
+
- data/core_overlay/kernel.rbs
|
|
320
|
+
- data/core_overlay/match_data.rbs
|
|
321
|
+
- data/core_overlay/module.rbs
|
|
314
322
|
- data/core_overlay/numeric.rbs
|
|
323
|
+
- data/core_overlay/object_space.rbs
|
|
315
324
|
- data/core_overlay/pathname.rbs
|
|
325
|
+
- data/core_overlay/proc.rbs
|
|
316
326
|
- data/core_overlay/process.rbs
|
|
317
327
|
- data/core_overlay/psych.rbs
|
|
328
|
+
- data/core_overlay/range.rbs
|
|
318
329
|
- data/core_overlay/resolv.rbs
|
|
330
|
+
- data/core_overlay/source_range.rbs
|
|
331
|
+
- data/core_overlay/string.rbs
|
|
319
332
|
- data/core_overlay/string_io.rbs
|
|
320
333
|
- data/core_overlay/string_scanner.rbs
|
|
321
334
|
- data/effects/core.yml
|
|
@@ -334,6 +347,8 @@ files:
|
|
|
334
347
|
- data/vendored_gem_sigs/nokogiri/nokogiri.rbs
|
|
335
348
|
- data/vendored_gem_sigs/nokogiri/nokogiri_html5.rbs
|
|
336
349
|
- data/vendored_gem_sigs/pg/pg.rbs
|
|
350
|
+
- data/vendored_gem_sigs/prime/integer-extension.rbs
|
|
351
|
+
- data/vendored_gem_sigs/prime/prime.rbs
|
|
337
352
|
- data/vendored_gem_sigs/prism/prism_supplement.rbs
|
|
338
353
|
- data/vendored_gem_sigs/racc/racc.rbs
|
|
339
354
|
- data/vendored_gem_sigs/redis/errors.rbs
|
|
@@ -398,6 +413,7 @@ files:
|
|
|
398
413
|
- docs/manual/plugins/rigor-activerecord.md
|
|
399
414
|
- docs/manual/plugins/rigor-activestorage.md
|
|
400
415
|
- docs/manual/plugins/rigor-activesupport-core-ext.md
|
|
416
|
+
- docs/manual/plugins/rigor-alba.md
|
|
401
417
|
- docs/manual/plugins/rigor-devise.md
|
|
402
418
|
- docs/manual/plugins/rigor-dry-schema.md
|
|
403
419
|
- docs/manual/plugins/rigor-dry-struct.md
|
|
@@ -421,6 +437,7 @@ files:
|
|
|
421
437
|
- docs/manual/plugins/rigor-sinatra.md
|
|
422
438
|
- docs/manual/plugins/rigor-sorbet.md
|
|
423
439
|
- docs/manual/plugins/rigor-statesman.md
|
|
440
|
+
- docs/manual/plugins/rigor-typelizer.md
|
|
424
441
|
- docs/manual/plugins/rigor-typescript-utility-types.md
|
|
425
442
|
- exe/rigor
|
|
426
443
|
- lib/rigor.rb
|
|
@@ -438,6 +455,7 @@ files:
|
|
|
438
455
|
- lib/rigor/analysis/check_rules/main_pass_collector.rb
|
|
439
456
|
- lib/rigor/analysis/check_rules/published_constant_guard.rb
|
|
440
457
|
- lib/rigor/analysis/check_rules/return_in_ensure_collector.rb
|
|
458
|
+
- lib/rigor/analysis/check_rules/ruby_deprecations.rb
|
|
441
459
|
- lib/rigor/analysis/check_rules/rule_ids.rb
|
|
442
460
|
- lib/rigor/analysis/check_rules/rule_walk.rb
|
|
443
461
|
- lib/rigor/analysis/check_rules/self_closedness_scanner.rb
|
|
@@ -632,6 +650,8 @@ files:
|
|
|
632
650
|
- lib/rigor/environment/constant_type_cache_holder.rb
|
|
633
651
|
- lib/rigor/environment/default_libraries.rb
|
|
634
652
|
- lib/rigor/environment/failure_slot.rb
|
|
653
|
+
- lib/rigor/environment/gated_signature_guard.rb
|
|
654
|
+
- lib/rigor/environment/gated_signature_plan.rb
|
|
635
655
|
- lib/rigor/environment/hkt_registry_holder.rb
|
|
636
656
|
- lib/rigor/environment/installed_gem_set.rb
|
|
637
657
|
- lib/rigor/environment/lockfile_resolver.rb
|
|
@@ -644,6 +664,7 @@ files:
|
|
|
644
664
|
- lib/rigor/environment/rbs_loader.rb
|
|
645
665
|
- lib/rigor/environment/reflection.rb
|
|
646
666
|
- lib/rigor/environment/reporters.rb
|
|
667
|
+
- lib/rigor/environment/required_features.rb
|
|
647
668
|
- lib/rigor/environment/source_rbs_synthesis.rb
|
|
648
669
|
- lib/rigor/flow_contribution.rb
|
|
649
670
|
- lib/rigor/flow_contribution/conflict.rb
|
|
@@ -663,6 +684,7 @@ files:
|
|
|
663
684
|
- lib/rigor/inference/builtins/array_catalog.rb
|
|
664
685
|
- lib/rigor/inference/builtins/comparable_catalog.rb
|
|
665
686
|
- lib/rigor/inference/builtins/complex_catalog.rb
|
|
687
|
+
- lib/rigor/inference/builtins/cruby_definers.rb
|
|
666
688
|
- lib/rigor/inference/builtins/date_catalog.rb
|
|
667
689
|
- lib/rigor/inference/builtins/encoding_catalog.rb
|
|
668
690
|
- lib/rigor/inference/builtins/enumerable_catalog.rb
|
|
@@ -712,9 +734,16 @@ files:
|
|
|
712
734
|
- lib/rigor/inference/hkt_reducer.rb
|
|
713
735
|
- lib/rigor/inference/hkt_registry.rb
|
|
714
736
|
- lib/rigor/inference/hkt_sugar_translator.rb
|
|
737
|
+
- lib/rigor/inference/in_effect_refinements.rb
|
|
738
|
+
- lib/rigor/inference/in_effect_refinements/proc_literals.rb
|
|
739
|
+
- lib/rigor/inference/in_effect_refinements/refine_defs.rb
|
|
740
|
+
- lib/rigor/inference/in_effect_refinements/scope_reads.rb
|
|
741
|
+
- lib/rigor/inference/in_effect_refinements/walk.rb
|
|
715
742
|
- lib/rigor/inference/index_write_widening.rb
|
|
716
743
|
- lib/rigor/inference/indexed_narrowing.rb
|
|
717
744
|
- lib/rigor/inference/jump_targets.rb
|
|
745
|
+
- lib/rigor/inference/key_presence_guard.rb
|
|
746
|
+
- lib/rigor/inference/key_presence_guard/scan.rb
|
|
718
747
|
- lib/rigor/inference/last_line.rb
|
|
719
748
|
- lib/rigor/inference/last_line/implicit_self.rb
|
|
720
749
|
- lib/rigor/inference/last_line/self_evidence.rb
|
|
@@ -727,6 +756,7 @@ files:
|
|
|
727
756
|
- lib/rigor/inference/match_rebinding/self_calls.rb
|
|
728
757
|
- lib/rigor/inference/method_dispatcher.rb
|
|
729
758
|
- lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb
|
|
759
|
+
- lib/rigor/inference/method_dispatcher/arithmetic_sequence_elements.rb
|
|
730
760
|
- lib/rigor/inference/method_dispatcher/array_to_h_folding.rb
|
|
731
761
|
- lib/rigor/inference/method_dispatcher/block_folding.rb
|
|
732
762
|
- lib/rigor/inference/method_dispatcher/call_context.rb
|
|
@@ -736,9 +766,12 @@ files:
|
|
|
736
766
|
- lib/rigor/inference/method_dispatcher/facet_distribution.rb
|
|
737
767
|
- lib/rigor/inference/method_dispatcher/file_folding.rb
|
|
738
768
|
- lib/rigor/inference/method_dispatcher/hash_transform_keys_folding.rb
|
|
769
|
+
- lib/rigor/inference/method_dispatcher/imprecise_argument.rb
|
|
770
|
+
- lib/rigor/inference/method_dispatcher/integer_step_block_params.rb
|
|
739
771
|
- lib/rigor/inference/method_dispatcher/iterator_dispatch.rb
|
|
740
772
|
- lib/rigor/inference/method_dispatcher/json_folding.rb
|
|
741
773
|
- lib/rigor/inference/method_dispatcher/kernel_dispatch.rb
|
|
774
|
+
- lib/rigor/inference/method_dispatcher/keyword_arguments.rb
|
|
742
775
|
- lib/rigor/inference/method_dispatcher/literal_string_folding.rb
|
|
743
776
|
- lib/rigor/inference/method_dispatcher/match_data_folding.rb
|
|
744
777
|
- lib/rigor/inference/method_dispatcher/math_folding.rb
|
|
@@ -758,6 +791,7 @@ files:
|
|
|
758
791
|
- lib/rigor/inference/method_dispatcher/shellwords_folding.rb
|
|
759
792
|
- lib/rigor/inference/method_dispatcher/singleton_folding.rb
|
|
760
793
|
- lib/rigor/inference/method_dispatcher/singleton_mixin_dispatch.rb
|
|
794
|
+
- lib/rigor/inference/method_dispatcher/splat_arity.rb
|
|
761
795
|
- lib/rigor/inference/method_dispatcher/struct_folding.rb
|
|
762
796
|
- lib/rigor/inference/method_dispatcher/struct_materialization.rb
|
|
763
797
|
- lib/rigor/inference/method_dispatcher/time_folding.rb
|
|
@@ -769,6 +803,7 @@ files:
|
|
|
769
803
|
- lib/rigor/inference/mutation_rejoin.rb
|
|
770
804
|
- lib/rigor/inference/mutation_widening.rb
|
|
771
805
|
- lib/rigor/inference/narrowing.rb
|
|
806
|
+
- lib/rigor/inference/object_mixins.rb
|
|
772
807
|
- lib/rigor/inference/operand_effects.rb
|
|
773
808
|
- lib/rigor/inference/operand_walk.rb
|
|
774
809
|
- lib/rigor/inference/optimistic_origin.rb
|
|
@@ -784,6 +819,10 @@ files:
|
|
|
784
819
|
- lib/rigor/inference/rbs_type_translator.rb
|
|
785
820
|
- lib/rigor/inference/receiver_alias.rb
|
|
786
821
|
- lib/rigor/inference/receiver_blind_block.rb
|
|
822
|
+
- lib/rigor/inference/refine_census.rb
|
|
823
|
+
- lib/rigor/inference/refine_self.rb
|
|
824
|
+
- lib/rigor/inference/refined_dispatch.rb
|
|
825
|
+
- lib/rigor/inference/refined_dispatch/own_method.rb
|
|
787
826
|
- lib/rigor/inference/refinement_mutation.rb
|
|
788
827
|
- lib/rigor/inference/repeated_or_writes.rb
|
|
789
828
|
- lib/rigor/inference/return_barrier.rb
|
|
@@ -914,12 +953,14 @@ files:
|
|
|
914
953
|
- lib/rigor/sig_gen/writer.rb
|
|
915
954
|
- lib/rigor/signature_path_audit.rb
|
|
916
955
|
- lib/rigor/source.rb
|
|
956
|
+
- lib/rigor/source/alias_names.rb
|
|
917
957
|
- lib/rigor/source/constant_path.rb
|
|
918
958
|
- lib/rigor/source/literals.rb
|
|
919
959
|
- lib/rigor/source/node_children.rb
|
|
920
960
|
- lib/rigor/source/node_locator.rb
|
|
921
961
|
- lib/rigor/source/node_walker.rb
|
|
922
962
|
- lib/rigor/source/parameter_envelope.rb
|
|
963
|
+
- lib/rigor/source/symbol_name.rb
|
|
923
964
|
- lib/rigor/testing.rb
|
|
924
965
|
- lib/rigor/triage.rb
|
|
925
966
|
- lib/rigor/triage/catalogue.rb
|
|
@@ -967,6 +1008,15 @@ files:
|
|
|
967
1008
|
- lib/rigor/value_semantics.rb
|
|
968
1009
|
- lib/rigor/version.rb
|
|
969
1010
|
- lib/rigortype.rb
|
|
1011
|
+
- plugins/rigor-ac-library-rb/lib/rigor-ac-library-rb.rb
|
|
1012
|
+
- plugins/rigor-ac-library-rb/lib/rigor/plugin/ac_library_rb.rb
|
|
1013
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/convolution.rbs
|
|
1014
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/data_structures.rbs
|
|
1015
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/graph.rbs
|
|
1016
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/math.rbs
|
|
1017
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/modint.rbs
|
|
1018
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/object.rbs
|
|
1019
|
+
- plugins/rigor-ac-library-rb/sig/ac_library_rb/segtree.rbs
|
|
970
1020
|
- plugins/rigor-actioncable/lib/rigor-actioncable.rb
|
|
971
1021
|
- plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb
|
|
972
1022
|
- plugins/rigor-actioncable/lib/rigor/plugin/actioncable/analyzer.rb
|
|
@@ -1007,6 +1057,7 @@ files:
|
|
|
1007
1057
|
- plugins/rigor-activerecord/lib/rigor-activerecord.rb
|
|
1008
1058
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb
|
|
1009
1059
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/analyzer.rb
|
|
1060
|
+
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/association_roots.rb
|
|
1010
1061
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/effects.rb
|
|
1011
1062
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb
|
|
1012
1063
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_index.rb
|
|
@@ -1025,6 +1076,12 @@ files:
|
|
|
1025
1076
|
- plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb
|
|
1026
1077
|
- plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb
|
|
1027
1078
|
- plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs
|
|
1079
|
+
- plugins/rigor-alba/lib/rigor-alba.rb
|
|
1080
|
+
- plugins/rigor-alba/lib/rigor/plugin/alba.rb
|
|
1081
|
+
- plugins/rigor-alba/lib/rigor/plugin/alba/resource_collector.rb
|
|
1082
|
+
- plugins/rigor-alba/lib/rigor/plugin/alba/resource_discoverer.rb
|
|
1083
|
+
- plugins/rigor-alba/lib/rigor/plugin/alba/resource_index.rb
|
|
1084
|
+
- plugins/rigor-alba/sig/alba.rbs
|
|
1028
1085
|
- plugins/rigor-devise/lib/rigor-devise.rb
|
|
1029
1086
|
- plugins/rigor-devise/lib/rigor/plugin/devise.rb
|
|
1030
1087
|
- plugins/rigor-dry-monads/lib/rigor-dry-monads.rb
|
|
@@ -1150,6 +1207,11 @@ files:
|
|
|
1150
1207
|
- plugins/rigor-sorbet/sig/sorbet.rbs
|
|
1151
1208
|
- plugins/rigor-statesman/lib/rigor-statesman.rb
|
|
1152
1209
|
- plugins/rigor-statesman/lib/rigor/plugin/statesman.rb
|
|
1210
|
+
- plugins/rigor-typelizer/lib/rigor-typelizer.rb
|
|
1211
|
+
- plugins/rigor-typelizer/lib/rigor/plugin/typelizer.rb
|
|
1212
|
+
- plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_collector.rb
|
|
1213
|
+
- plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_discoverer.rb
|
|
1214
|
+
- plugins/rigor-typelizer/lib/rigor/plugin/typelizer/serializer_index.rb
|
|
1153
1215
|
- plugins/rigor-typescript-utility-types/lib/rigor-typescript-utility-types.rb
|
|
1154
1216
|
- plugins/rigor-typescript-utility-types/lib/rigor/plugin/typescript_utility_types.rb
|
|
1155
1217
|
- sig/prism_node_children.rbs
|
|
@@ -1267,6 +1329,7 @@ post_install_message: |
|
|
|
1267
1329
|
rdoc_options: []
|
|
1268
1330
|
require_paths:
|
|
1269
1331
|
- lib
|
|
1332
|
+
- plugins/rigor-ac-library-rb/lib
|
|
1270
1333
|
- plugins/rigor-actioncable/lib
|
|
1271
1334
|
- plugins/rigor-actionmailer/lib
|
|
1272
1335
|
- plugins/rigor-actionpack/lib
|
|
@@ -1275,6 +1338,7 @@ require_paths:
|
|
|
1275
1338
|
- plugins/rigor-activerecord/lib
|
|
1276
1339
|
- plugins/rigor-activestorage/lib
|
|
1277
1340
|
- plugins/rigor-activesupport-core-ext/lib
|
|
1341
|
+
- plugins/rigor-alba/lib
|
|
1278
1342
|
- plugins/rigor-devise/lib
|
|
1279
1343
|
- plugins/rigor-dry-monads/lib
|
|
1280
1344
|
- plugins/rigor-dry-schema/lib
|
|
@@ -1305,6 +1369,7 @@ require_paths:
|
|
|
1305
1369
|
- plugins/rigor-sinatra/lib
|
|
1306
1370
|
- plugins/rigor-sorbet/lib
|
|
1307
1371
|
- plugins/rigor-statesman/lib
|
|
1372
|
+
- plugins/rigor-typelizer/lib
|
|
1308
1373
|
- plugins/rigor-typescript-utility-types/lib
|
|
1309
1374
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
1310
1375
|
requirements:
|