rigortype 0.0.4 → 0.0.6

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +215 -134
  3. data/data/builtins/ruby_core/comparable.yml +87 -0
  4. data/data/builtins/ruby_core/complex.yml +505 -0
  5. data/data/builtins/ruby_core/date.yml +1737 -0
  6. data/data/builtins/ruby_core/enumerable.yml +557 -0
  7. data/data/builtins/ruby_core/file.yml +9 -0
  8. data/data/builtins/ruby_core/pathname.yml +1067 -0
  9. data/data/builtins/ruby_core/rational.yml +365 -0
  10. data/data/builtins/ruby_core/string.yml +9 -0
  11. data/data/builtins/ruby_core/time.yml +6 -4
  12. data/lib/rigor/cli.rb +1 -1
  13. data/lib/rigor/inference/builtins/comparable_catalog.rb +27 -0
  14. data/lib/rigor/inference/builtins/complex_catalog.rb +41 -0
  15. data/lib/rigor/inference/builtins/date_catalog.rb +98 -0
  16. data/lib/rigor/inference/builtins/enumerable_catalog.rb +27 -0
  17. data/lib/rigor/inference/builtins/pathname_catalog.rb +35 -0
  18. data/lib/rigor/inference/builtins/rational_catalog.rb +38 -0
  19. data/lib/rigor/inference/expression_typer.rb +285 -23
  20. data/lib/rigor/inference/method_dispatcher/block_folding.rb +322 -0
  21. data/lib/rigor/inference/method_dispatcher/constant_folding.rb +197 -12
  22. data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +99 -0
  23. data/lib/rigor/inference/method_dispatcher/kernel_dispatch.rb +95 -0
  24. data/lib/rigor/inference/method_dispatcher.rb +20 -8
  25. data/lib/rigor/inference/narrowing.rb +210 -1
  26. data/lib/rigor/inference/scope_indexer.rb +87 -11
  27. data/lib/rigor/inference/statement_evaluator.rb +5 -1
  28. data/lib/rigor/rbs_extended.rb +11 -6
  29. data/lib/rigor/type/integer_range.rb +4 -2
  30. data/lib/rigor/version.rb +1 -1
  31. data/sig/rigor/environment.rbs +4 -6
  32. data/sig/rigor/inference.rbs +2 -1
  33. data/sig/rigor/type.rbs +41 -41
  34. metadata +15 -1
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
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rigor contributors
@@ -161,11 +161,17 @@ files:
161
161
  - LICENSE
162
162
  - README.md
163
163
  - data/builtins/ruby_core/array.yml
164
+ - data/builtins/ruby_core/comparable.yml
165
+ - data/builtins/ruby_core/complex.yml
166
+ - data/builtins/ruby_core/date.yml
167
+ - data/builtins/ruby_core/enumerable.yml
164
168
  - data/builtins/ruby_core/file.yml
165
169
  - data/builtins/ruby_core/hash.yml
166
170
  - data/builtins/ruby_core/io.yml
167
171
  - data/builtins/ruby_core/numeric.yml
172
+ - data/builtins/ruby_core/pathname.yml
168
173
  - data/builtins/ruby_core/range.yml
174
+ - data/builtins/ruby_core/rational.yml
169
175
  - data/builtins/ruby_core/set.yml
170
176
  - data/builtins/ruby_core/string.yml
171
177
  - data/builtins/ruby_core/time.yml
@@ -193,10 +199,16 @@ files:
193
199
  - lib/rigor/inference/acceptance.rb
194
200
  - lib/rigor/inference/block_parameter_binder.rb
195
201
  - lib/rigor/inference/builtins/array_catalog.rb
202
+ - lib/rigor/inference/builtins/comparable_catalog.rb
203
+ - lib/rigor/inference/builtins/complex_catalog.rb
204
+ - lib/rigor/inference/builtins/date_catalog.rb
205
+ - lib/rigor/inference/builtins/enumerable_catalog.rb
196
206
  - lib/rigor/inference/builtins/hash_catalog.rb
197
207
  - lib/rigor/inference/builtins/method_catalog.rb
198
208
  - lib/rigor/inference/builtins/numeric_catalog.rb
209
+ - lib/rigor/inference/builtins/pathname_catalog.rb
199
210
  - lib/rigor/inference/builtins/range_catalog.rb
211
+ - lib/rigor/inference/builtins/rational_catalog.rb
200
212
  - lib/rigor/inference/builtins/set_catalog.rb
201
213
  - lib/rigor/inference/builtins/string_catalog.rb
202
214
  - lib/rigor/inference/builtins/time_catalog.rb
@@ -206,9 +218,11 @@ files:
206
218
  - lib/rigor/inference/fallback.rb
207
219
  - lib/rigor/inference/fallback_tracer.rb
208
220
  - lib/rigor/inference/method_dispatcher.rb
221
+ - lib/rigor/inference/method_dispatcher/block_folding.rb
209
222
  - lib/rigor/inference/method_dispatcher/constant_folding.rb
210
223
  - lib/rigor/inference/method_dispatcher/file_folding.rb
211
224
  - lib/rigor/inference/method_dispatcher/iterator_dispatch.rb
225
+ - lib/rigor/inference/method_dispatcher/kernel_dispatch.rb
212
226
  - lib/rigor/inference/method_dispatcher/overload_selector.rb
213
227
  - lib/rigor/inference/method_dispatcher/rbs_dispatch.rb
214
228
  - lib/rigor/inference/method_dispatcher/shape_dispatch.rb