rigortype 0.0.7 → 0.0.9
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 +195 -21
- data/data/builtins/ruby_core/encoding.yml +210 -0
- data/data/builtins/ruby_core/exception.yml +641 -0
- data/data/builtins/ruby_core/numeric.yml +3 -2
- data/data/builtins/ruby_core/proc.yml +731 -0
- data/data/builtins/ruby_core/random.yml +166 -0
- data/data/builtins/ruby_core/re.yml +689 -0
- data/data/builtins/ruby_core/struct.yml +449 -0
- data/lib/rigor/analysis/diagnostic.rb +28 -2
- data/lib/rigor/analysis/runner.rb +19 -3
- data/lib/rigor/builtins/imported_refinements.rb +6 -1
- data/lib/rigor/cache/descriptor.rb +278 -0
- data/lib/rigor/cache/rbs_class_ancestor_table.rb +63 -0
- data/lib/rigor/cache/rbs_class_type_param_names.rb +60 -0
- data/lib/rigor/cache/rbs_constant_table.rb +47 -0
- data/lib/rigor/cache/rbs_descriptor.rb +53 -0
- data/lib/rigor/cache/rbs_environment.rb +52 -0
- data/lib/rigor/cache/rbs_environment_marshal_patch.rb +40 -0
- data/lib/rigor/cache/rbs_known_class_names.rb +43 -0
- data/lib/rigor/cache/store.rb +325 -0
- data/lib/rigor/cli.rb +88 -7
- data/lib/rigor/environment/rbs_hierarchy.rb +18 -5
- data/lib/rigor/environment/rbs_loader.rb +148 -25
- data/lib/rigor/environment.rb +11 -2
- data/lib/rigor/flow_contribution.rb +128 -0
- data/lib/rigor/inference/builtins/encoding_catalog.rb +67 -0
- data/lib/rigor/inference/builtins/exception_catalog.rb +92 -0
- data/lib/rigor/inference/builtins/proc_catalog.rb +122 -0
- data/lib/rigor/inference/builtins/random_catalog.rb +58 -0
- data/lib/rigor/inference/builtins/re_catalog.rb +81 -0
- data/lib/rigor/inference/builtins/struct_catalog.rb +55 -0
- data/lib/rigor/inference/expression_typer.rb +26 -1
- data/lib/rigor/inference/method_dispatcher/constant_folding.rb +16 -1
- data/lib/rigor/inference/method_dispatcher/literal_string_folding.rb +87 -0
- data/lib/rigor/inference/method_dispatcher.rb +2 -0
- data/lib/rigor/inference/narrowing.rb +29 -14
- data/lib/rigor/rbs_extended.rb +55 -0
- data/lib/rigor/type/combinator.rb +72 -0
- data/lib/rigor/type/refined.rb +50 -2
- data/lib/rigor/version.rb +1 -1
- data/lib/rigor.rb +9 -0
- data/sig/rigor.rbs +3 -1
- metadata +24 -1
data/lib/rigor.rb
CHANGED
|
@@ -19,6 +19,15 @@ require_relative "rigor/inference/closure_escape_analyzer"
|
|
|
19
19
|
require_relative "rigor/inference/statement_evaluator"
|
|
20
20
|
require_relative "rigor/scope"
|
|
21
21
|
require_relative "rigor/reflection"
|
|
22
|
+
require_relative "rigor/cache/descriptor"
|
|
23
|
+
require_relative "rigor/cache/store"
|
|
24
|
+
require_relative "rigor/cache/rbs_descriptor"
|
|
25
|
+
require_relative "rigor/cache/rbs_constant_table"
|
|
26
|
+
require_relative "rigor/cache/rbs_known_class_names"
|
|
27
|
+
require_relative "rigor/cache/rbs_class_ancestor_table"
|
|
28
|
+
require_relative "rigor/cache/rbs_class_type_param_names"
|
|
29
|
+
require_relative "rigor/cache/rbs_environment"
|
|
30
|
+
require_relative "rigor/flow_contribution"
|
|
22
31
|
require_relative "rigor/source"
|
|
23
32
|
require_relative "rigor/inference/scope_indexer"
|
|
24
33
|
require_relative "rigor/inference/coverage_scanner"
|
data/sig/rigor.rbs
CHANGED
|
@@ -63,7 +63,9 @@ module Rigor
|
|
|
63
63
|
|
|
64
64
|
class Runner
|
|
65
65
|
RUBY_GLOB: String
|
|
66
|
-
|
|
66
|
+
DEFAULT_CACHE_ROOT: String
|
|
67
|
+
attr_reader cache_store: Rigor::Cache::Store?
|
|
68
|
+
def initialize: (configuration: Configuration, ?explain: bool, ?cache_store: Rigor::Cache::Store?) -> void
|
|
67
69
|
def run: (?Array[String] paths) -> Result
|
|
68
70
|
end
|
|
69
71
|
end
|
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.0.
|
|
4
|
+
version: 0.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rigor contributors
|
|
@@ -164,16 +164,22 @@ files:
|
|
|
164
164
|
- data/builtins/ruby_core/comparable.yml
|
|
165
165
|
- data/builtins/ruby_core/complex.yml
|
|
166
166
|
- data/builtins/ruby_core/date.yml
|
|
167
|
+
- data/builtins/ruby_core/encoding.yml
|
|
167
168
|
- data/builtins/ruby_core/enumerable.yml
|
|
169
|
+
- data/builtins/ruby_core/exception.yml
|
|
168
170
|
- data/builtins/ruby_core/file.yml
|
|
169
171
|
- data/builtins/ruby_core/hash.yml
|
|
170
172
|
- data/builtins/ruby_core/io.yml
|
|
171
173
|
- data/builtins/ruby_core/numeric.yml
|
|
172
174
|
- data/builtins/ruby_core/pathname.yml
|
|
175
|
+
- data/builtins/ruby_core/proc.yml
|
|
176
|
+
- data/builtins/ruby_core/random.yml
|
|
173
177
|
- data/builtins/ruby_core/range.yml
|
|
174
178
|
- data/builtins/ruby_core/rational.yml
|
|
179
|
+
- data/builtins/ruby_core/re.yml
|
|
175
180
|
- data/builtins/ruby_core/set.yml
|
|
176
181
|
- data/builtins/ruby_core/string.yml
|
|
182
|
+
- data/builtins/ruby_core/struct.yml
|
|
177
183
|
- data/builtins/ruby_core/time.yml
|
|
178
184
|
- exe/rigor
|
|
179
185
|
- lib/rigor.rb
|
|
@@ -185,6 +191,15 @@ files:
|
|
|
185
191
|
- lib/rigor/ast.rb
|
|
186
192
|
- lib/rigor/ast/type_node.rb
|
|
187
193
|
- lib/rigor/builtins/imported_refinements.rb
|
|
194
|
+
- lib/rigor/cache/descriptor.rb
|
|
195
|
+
- lib/rigor/cache/rbs_class_ancestor_table.rb
|
|
196
|
+
- lib/rigor/cache/rbs_class_type_param_names.rb
|
|
197
|
+
- lib/rigor/cache/rbs_constant_table.rb
|
|
198
|
+
- lib/rigor/cache/rbs_descriptor.rb
|
|
199
|
+
- lib/rigor/cache/rbs_environment.rb
|
|
200
|
+
- lib/rigor/cache/rbs_environment_marshal_patch.rb
|
|
201
|
+
- lib/rigor/cache/rbs_known_class_names.rb
|
|
202
|
+
- lib/rigor/cache/store.rb
|
|
188
203
|
- lib/rigor/cli.rb
|
|
189
204
|
- lib/rigor/cli/type_of_command.rb
|
|
190
205
|
- lib/rigor/cli/type_of_renderer.rb
|
|
@@ -196,21 +211,28 @@ files:
|
|
|
196
211
|
- lib/rigor/environment/class_registry.rb
|
|
197
212
|
- lib/rigor/environment/rbs_hierarchy.rb
|
|
198
213
|
- lib/rigor/environment/rbs_loader.rb
|
|
214
|
+
- lib/rigor/flow_contribution.rb
|
|
199
215
|
- lib/rigor/inference/acceptance.rb
|
|
200
216
|
- lib/rigor/inference/block_parameter_binder.rb
|
|
201
217
|
- lib/rigor/inference/builtins/array_catalog.rb
|
|
202
218
|
- lib/rigor/inference/builtins/comparable_catalog.rb
|
|
203
219
|
- lib/rigor/inference/builtins/complex_catalog.rb
|
|
204
220
|
- lib/rigor/inference/builtins/date_catalog.rb
|
|
221
|
+
- lib/rigor/inference/builtins/encoding_catalog.rb
|
|
205
222
|
- lib/rigor/inference/builtins/enumerable_catalog.rb
|
|
223
|
+
- lib/rigor/inference/builtins/exception_catalog.rb
|
|
206
224
|
- lib/rigor/inference/builtins/hash_catalog.rb
|
|
207
225
|
- lib/rigor/inference/builtins/method_catalog.rb
|
|
208
226
|
- lib/rigor/inference/builtins/numeric_catalog.rb
|
|
209
227
|
- lib/rigor/inference/builtins/pathname_catalog.rb
|
|
228
|
+
- lib/rigor/inference/builtins/proc_catalog.rb
|
|
229
|
+
- lib/rigor/inference/builtins/random_catalog.rb
|
|
210
230
|
- lib/rigor/inference/builtins/range_catalog.rb
|
|
211
231
|
- lib/rigor/inference/builtins/rational_catalog.rb
|
|
232
|
+
- lib/rigor/inference/builtins/re_catalog.rb
|
|
212
233
|
- lib/rigor/inference/builtins/set_catalog.rb
|
|
213
234
|
- lib/rigor/inference/builtins/string_catalog.rb
|
|
235
|
+
- lib/rigor/inference/builtins/struct_catalog.rb
|
|
214
236
|
- lib/rigor/inference/builtins/time_catalog.rb
|
|
215
237
|
- lib/rigor/inference/closure_escape_analyzer.rb
|
|
216
238
|
- lib/rigor/inference/coverage_scanner.rb
|
|
@@ -223,6 +245,7 @@ files:
|
|
|
223
245
|
- lib/rigor/inference/method_dispatcher/file_folding.rb
|
|
224
246
|
- lib/rigor/inference/method_dispatcher/iterator_dispatch.rb
|
|
225
247
|
- lib/rigor/inference/method_dispatcher/kernel_dispatch.rb
|
|
248
|
+
- lib/rigor/inference/method_dispatcher/literal_string_folding.rb
|
|
226
249
|
- lib/rigor/inference/method_dispatcher/overload_selector.rb
|
|
227
250
|
- lib/rigor/inference/method_dispatcher/rbs_dispatch.rb
|
|
228
251
|
- lib/rigor/inference/method_dispatcher/shape_dispatch.rb
|