rbs 2.2.2 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +4 -0
  3. data/.github/workflows/comments.yml +2 -2
  4. data/.github/workflows/ruby.yml +1 -1
  5. data/.gitignore +0 -1
  6. data/CHANGELOG.md +43 -0
  7. data/Gemfile +2 -1
  8. data/Gemfile.lock +117 -0
  9. data/Rakefile +1 -1
  10. data/core/dir.rbs +1 -1
  11. data/core/enumerator.rbs +1 -1
  12. data/core/false_class.rbs +1 -1
  13. data/core/integer.rbs +4 -4
  14. data/core/io/wait.rbs +1 -1
  15. data/core/module.rbs +21 -2
  16. data/core/nil_class.rbs +7 -5
  17. data/core/object.rbs +9 -0
  18. data/core/trace_point.rbs +42 -3
  19. data/core/true_class.rbs +1 -1
  20. data/ext/rbs_extension/constants.c +1 -1
  21. data/ext/rbs_extension/extconf.rb +1 -1
  22. data/ext/rbs_extension/location.c +1 -1
  23. data/ext/rbs_extension/parser.c +4 -3
  24. data/ext/rbs_extension/parserstate.c +2 -2
  25. data/ext/rbs_extension/unescape.c +1 -1
  26. data/lib/rbs/ast/members.rb +2 -1
  27. data/lib/rbs/collection/installer.rb +4 -1
  28. data/lib/rbs/definition_builder/ancestor_builder.rb +4 -2
  29. data/lib/rbs/definition_builder/method_builder.rb +1 -1
  30. data/lib/rbs/definition_builder.rb +2 -2
  31. data/lib/rbs/environment.rb +24 -12
  32. data/lib/rbs/locator.rb +24 -15
  33. data/lib/rbs/prototype/rb.rb +17 -6
  34. data/lib/rbs/resolver/constant_resolver.rb +192 -0
  35. data/lib/rbs/resolver/type_name_resolver.rb +55 -0
  36. data/lib/rbs/type_name.rb +15 -0
  37. data/lib/rbs/version.rb +1 -1
  38. data/lib/rbs.rb +2 -0
  39. data/schema/members.json +4 -1
  40. data/sig/environment.rbs +28 -21
  41. data/sig/environment_loader.rbs +23 -23
  42. data/sig/locator.rbs +2 -0
  43. data/sig/manifest.yaml +8 -0
  44. data/sig/resolver/constant_resolver.rbs +93 -0
  45. data/sig/resolver/context.rbs +34 -0
  46. data/sig/resolver/type_name_resolver.rbs +31 -0
  47. data/sig/typename.rbs +9 -3
  48. data/stdlib/bigdecimal/0/big_decimal.rbs +135 -0
  49. data/stdlib/erb/0/erb.rbs +237 -0
  50. data/stdlib/optparse/0/optparse.rbs +20 -18
  51. data/stdlib/prime/0/prime.rbs +115 -4
  52. data/stdlib/rubygems/0/version.rbs +159 -1
  53. data/steep/Gemfile.lock +13 -15
  54. metadata +10 -3
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # ### New to OptionParser?
5
5
  #
6
- # See the [Tutorial](./doc/optparse/tutorial_rdoc.html).
6
+ # See the [Tutorial](optparse/tutorial.rdoc).
7
7
  #
8
8
  # ### Introduction
9
9
  #
@@ -374,9 +374,8 @@
374
374
  # ### Further documentation
375
375
  #
376
376
  # The above examples, along with the accompanying
377
- # [Tutorial](./doc/optparse/tutorial_rdoc.html), should be enough to learn how
378
- # to use this class. If you have any questions, file a ticket at
379
- # http://bugs.ruby-lang.org.
377
+ # [Tutorial](optparse/tutorial.rdoc), should be enough to learn how to use this
378
+ # class. If you have any questions, file a ticket at http://bugs.ruby-lang.org.
380
379
  #
381
380
  class OptionParser
382
381
  interface _Pattern
@@ -540,12 +539,12 @@ class OptionParser
540
539
  # - define(*params, &block)
541
540
  # -->
542
541
  # Creates an option from the given parameters `params`. See [Parameters for New
543
- # Options](./doc/optparse/option_params_rdoc.html).
542
+ # Options](./option_params.rdoc).
544
543
  #
545
544
  # The block, if given, is the handler for the created option. When the option is
546
545
  # encountered during command-line parsing, the block is called with the argument
547
546
  # given for the option, if any. See [Option
548
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
547
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
549
548
  #
550
549
  def define: (*String params) ?{ (*untyped) -> untyped } -> untyped
551
550
  | (String params, Class | Array[String] | Hash[Symbol, untyped] | Regexp obj, ?String desc) ?{ (*untyped) -> untyped } -> untyped
@@ -557,12 +556,12 @@ class OptionParser
557
556
  # - define_head(*params, &block)
558
557
  # -->
559
558
  # Creates an option from the given parameters `params`. See [Parameters for New
560
- # Options](./doc/optparse/option_params_rdoc.html).
559
+ # Options](./option_params.rdoc).
561
560
  #
562
561
  # The block, if given, is the handler for the created option. When the option is
563
562
  # encountered during command-line parsing, the block is called with the argument
564
563
  # given for the option, if any. See [Option
565
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
564
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
566
565
  #
567
566
  def define_head: (*String params) ?{ (*untyped) -> untyped } -> untyped
568
567
  | (String params, Class | Array[String] | Hash[Symbol, untyped] | Regexp obj, ?String desc) ?{ (*untyped) -> untyped } -> untyped
@@ -574,12 +573,12 @@ class OptionParser
574
573
  # - define_tail(*params, &block)
575
574
  # -->
576
575
  # Creates an option from the given parameters `params`. See [Parameters for New
577
- # Options](./doc/optparse/option_params_rdoc.html).
576
+ # Options](./option_params.rdoc).
578
577
  #
579
578
  # The block, if given, is the handler for the created option. When the option is
580
579
  # encountered during command-line parsing, the block is called with the argument
581
580
  # given for the option, if any. See [Option
582
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
581
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
583
582
  #
584
583
  def define_tail: (*String params) ?{ (*untyped) -> untyped } -> untyped
585
584
  | (String params, Class | Array[String] | Hash[Symbol, untyped] | Regexp obj, ?String desc) ?{ (*untyped) -> untyped } -> untyped
@@ -646,12 +645,12 @@ class OptionParser
646
645
  # - make_switch(params, block = nil)
647
646
  # -->
648
647
  # Creates an option from the given parameters `params`. See [Parameters for New
649
- # Options](./doc/optparse/option_params_rdoc.html).
648
+ # Options](./option_params.rdoc).
650
649
  #
651
650
  # The block, if given, is the handler for the created option. When the option is
652
651
  # encountered during command-line parsing, the block is called with the argument
653
652
  # given for the option, if any. See [Option
654
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
653
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
655
654
  #
656
655
  def make_switch: (Array[untyped] opts, ?Proc block) -> [ untyped, untyped, untyped, untyped, untyped ]
657
656
 
@@ -669,12 +668,12 @@ class OptionParser
669
668
  # - on(*params, &block)
670
669
  # -->
671
670
  # Creates an option from the given parameters `params`. See [Parameters for New
672
- # Options](./doc/optparse/option_params_rdoc.html).
671
+ # Options](./option_params.rdoc).
673
672
  #
674
673
  # The block, if given, is the handler for the created option. When the option is
675
674
  # encountered during command-line parsing, the block is called with the argument
676
675
  # given for the option, if any. See [Option
677
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
676
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
678
677
  #
679
678
  def on: (*String params) ?{ (*untyped) -> untyped } -> self
680
679
  | (String params, Class | Array[String] | Hash[Symbol, untyped] | Regexp obj, ?String desc) ?{ (*untyped) -> untyped } -> self
@@ -686,12 +685,12 @@ class OptionParser
686
685
  # - on_head(*params, &block)
687
686
  # -->
688
687
  # Creates an option from the given parameters `params`. See [Parameters for New
689
- # Options](./doc/optparse/option_params_rdoc.html).
688
+ # Options](./option_params.rdoc).
690
689
  #
691
690
  # The block, if given, is the handler for the created option. When the option is
692
691
  # encountered during command-line parsing, the block is called with the argument
693
692
  # given for the option, if any. See [Option
694
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
693
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
695
694
  #
696
695
  # The new option is added at the head of the summary.
697
696
  #
@@ -705,12 +704,12 @@ class OptionParser
705
704
  # - on_tail(*params, &block)
706
705
  # -->
707
706
  # Creates an option from the given parameters `params`. See [Parameters for New
708
- # Options](./doc/optparse/option_params_rdoc.html).
707
+ # Options](./option_params.rdoc).
709
708
  #
710
709
  # The block, if given, is the handler for the created option. When the option is
711
710
  # encountered during command-line parsing, the block is called with the argument
712
711
  # given for the option, if any. See [Option
713
- # Handlers](./option_params_rdoc.html#label-Option+Handlers).
712
+ # Handlers](./option_params.rdoc#label-Option+Handlers).
714
713
  #
715
714
  # The new option is added at the tail of the summary.
716
715
  #
@@ -809,6 +808,9 @@ class OptionParser
809
808
  #
810
809
  def release: () -> untyped
811
810
 
811
+ # <!-- rdoc-file=lib/optparse.rb -->
812
+ # Release code
813
+ #
812
814
  def release=: (untyped) -> untyped
813
815
 
814
816
  # <!--
@@ -76,9 +76,66 @@ class Prime
76
76
  # : Upper bound of prime numbers. The iterator stops after it yields all prime
77
77
  # numbers p <= `ubound`.
78
78
  #
79
- def self?.each: (?Integer? ubound, ?PseudoPrimeGenerator generator) { (Integer) -> void } -> void
79
+ def self.each: (?Integer? ubound, ?PseudoPrimeGenerator generator) { (Integer) -> void } -> void
80
80
  | (?Integer? ubound, ?PseudoPrimeGenerator generator) -> PseudoPrimeGenerator
81
81
 
82
+ # <!--
83
+ # rdoc-file=lib/prime.rb
84
+ # - each(ubound = nil, generator = EratosthenesGenerator.new, &block)
85
+ # -->
86
+ # Iterates the given block over all prime numbers.
87
+ #
88
+ # ## Parameters
89
+ #
90
+ # `ubound`
91
+ # : Optional. An arbitrary positive number. The upper bound of enumeration.
92
+ # The method enumerates prime numbers infinitely if `ubound` is nil.
93
+ # `generator`
94
+ # : Optional. An implementation of pseudo-prime generator.
95
+ #
96
+ #
97
+ # ## Return value
98
+ #
99
+ # An evaluated value of the given block at the last time. Or an enumerator which
100
+ # is compatible to an `Enumerator` if no block given.
101
+ #
102
+ # ## Description
103
+ #
104
+ # Calls `block` once for each prime number, passing the prime as a parameter.
105
+ #
106
+ # `ubound`
107
+ # : Upper bound of prime numbers. The iterator stops after it yields all prime
108
+ # numbers p <= `ubound`.
109
+ #
110
+ def each: (?Integer? ubound, ?PseudoPrimeGenerator generator) { (Integer) -> void } -> void
111
+ | (?Integer? ubound, ?PseudoPrimeGenerator generator) -> PseudoPrimeGenerator
112
+
113
+ # <!--
114
+ # rdoc-file=lib/prime.rb
115
+ # - int_from_prime_division(pd)
116
+ # -->
117
+ # Re-composes a prime factorization and returns the product.
118
+ #
119
+ # For the decomposition:
120
+ #
121
+ # [[p_1, e_1], [p_2, e_2], ..., [p_n, e_n]],
122
+ #
123
+ # it returns:
124
+ #
125
+ # p_1**e_1 * p_2**e_2 * ... * p_n**e_n.
126
+ #
127
+ # ## Parameters
128
+ # `pd`
129
+ # : Array of pairs of integers. Each pair consists of a prime number -- a
130
+ # prime factor -- and a natural number -- its exponent (multiplicity).
131
+ #
132
+ #
133
+ # ## Example
134
+ # Prime.int_from_prime_division([[3, 2], [5, 1]]) #=> 45
135
+ # 3**2 * 5 #=> 45
136
+ #
137
+ def self.int_from_prime_division: (Array[[ Integer, Integer ]]) -> Integer
138
+
82
139
  # <!--
83
140
  # rdoc-file=lib/prime.rb
84
141
  # - int_from_prime_division(pd)
@@ -103,7 +160,7 @@ class Prime
103
160
  # Prime.int_from_prime_division([[3, 2], [5, 1]]) #=> 45
104
161
  # 3**2 * 5 #=> 45
105
162
  #
106
- def self?.int_from_prime_division: (Array[[ Integer, Integer ]]) -> Integer
163
+ def int_from_prime_division: (Array[[ Integer, Integer ]]) -> Integer
107
164
 
108
165
  # <!--
109
166
  # rdoc-file=lib/prime.rb
@@ -119,7 +176,61 @@ class Prime
119
176
  # `generator`
120
177
  # : optional. A pseudo-prime generator.
121
178
  #
122
- def self?.prime?: (Integer value, ?PseudoPrimeGenerator generator) -> bool
179
+ def self.prime?: (Integer value, ?PseudoPrimeGenerator generator) -> bool
180
+
181
+ # <!--
182
+ # rdoc-file=lib/prime.rb
183
+ # - prime?(value, generator = Prime::Generator23.new)
184
+ # -->
185
+ # Returns true if `value` is a prime number, else returns false. Integer#prime?
186
+ # is much more performant.
187
+ #
188
+ # ## Parameters
189
+ #
190
+ # `value`
191
+ # : an arbitrary integer to be checked.
192
+ # `generator`
193
+ # : optional. A pseudo-prime generator.
194
+ #
195
+ def prime?: (Integer value, ?PseudoPrimeGenerator generator) -> bool
196
+
197
+ # <!--
198
+ # rdoc-file=lib/prime.rb
199
+ # - prime_division(value, generator = Prime::Generator23.new)
200
+ # -->
201
+ # Returns the factorization of `value`.
202
+ #
203
+ # For an arbitrary integer:
204
+ #
205
+ # p_1**e_1 * p_2**e_2 * ... * p_n**e_n,
206
+ #
207
+ # prime_division returns an array of pairs of integers:
208
+ #
209
+ # [[p_1, e_1], [p_2, e_2], ..., [p_n, e_n]].
210
+ #
211
+ # Each pair consists of a prime number -- a prime factor -- and a natural number
212
+ # -- its exponent (multiplicity).
213
+ #
214
+ # ## Parameters
215
+ # `value`
216
+ # : An arbitrary integer.
217
+ # `generator`
218
+ # : Optional. A pseudo-prime generator. `generator`.succ must return the next
219
+ # pseudo-prime number in ascending order. It must generate all prime
220
+ # numbers, but may also generate non-prime numbers, too.
221
+ #
222
+ #
223
+ # ### Exceptions
224
+ # `ZeroDivisionError`
225
+ # : when `value` is zero.
226
+ #
227
+ #
228
+ # ## Example
229
+ #
230
+ # Prime.prime_division(45) #=> [[3, 2], [5, 1]]
231
+ # 3**2 * 5 #=> 45
232
+ #
233
+ def self.prime_division: (Integer, ?PseudoPrimeGenerator generator) -> Array[[ Integer, Integer ]]
123
234
 
124
235
  # <!--
125
236
  # rdoc-file=lib/prime.rb
@@ -157,7 +268,7 @@ class Prime
157
268
  # Prime.prime_division(45) #=> [[3, 2], [5, 1]]
158
269
  # 3**2 * 5 #=> 45
159
270
  #
160
- def self?.prime_division: (Integer, ?PseudoPrimeGenerator generator) -> Array[[ Integer, Integer ]]
271
+ def prime_division: (Integer, ?PseudoPrimeGenerator generator) -> Array[[ Integer, Integer ]]
161
272
 
162
273
  # Returns the singleton instance.
163
274
  #
@@ -1,5 +1,163 @@
1
1
  %a{annotate:rdoc:skip}
2
2
  module Gem
3
+ # <!-- rdoc-file=lib/rubygems/version.rb -->
4
+ # The Version class processes string versions into comparable values. A version
5
+ # string should normally be a series of numbers separated by periods. Each part
6
+ # (digits separated by periods) is considered its own number, and these are used
7
+ # for sorting. So for instance, 3.10 sorts higher than 3.2 because ten is
8
+ # greater than two.
9
+ #
10
+ # If any part contains letters (currently only a-z are supported) then that
11
+ # version is considered prerelease. Versions with a prerelease part in the Nth
12
+ # part sort less than versions with N-1 parts. Prerelease parts are sorted
13
+ # alphabetically using the normal Ruby string sorting rules. If a prerelease
14
+ # part contains both letters and numbers, it will be broken into multiple parts
15
+ # to provide expected sort behavior (1.0.a10 becomes 1.0.a.10, and is greater
16
+ # than 1.0.a9).
17
+ #
18
+ # Prereleases sort between real releases (newest to oldest):
19
+ #
20
+ # 1. 1.0
21
+ # 2. 1.0.b1
22
+ # 3. 1.0.a.2
23
+ # 4. 0.9
24
+ #
25
+ #
26
+ # If you want to specify a version restriction that includes both prereleases
27
+ # and regular releases of the 1.x series this is the best way:
28
+ #
29
+ # s.add_dependency 'example', '>= 1.0.0.a', '< 2.0.0'
30
+ #
31
+ # ## How Software Changes
32
+ #
33
+ # Users expect to be able to specify a version constraint that gives them some
34
+ # reasonable expectation that new versions of a library will work with their
35
+ # software if the version constraint is true, and not work with their software
36
+ # if the version constraint is false. In other words, the perfect system will
37
+ # accept all compatible versions of the library and reject all incompatible
38
+ # versions.
39
+ #
40
+ # Libraries change in 3 ways (well, more than 3, but stay focused here!).
41
+ #
42
+ # 1. The change may be an implementation detail only and have no effect on the
43
+ # client software.
44
+ # 2. The change may add new features, but do so in a way that client software
45
+ # written to an earlier version is still compatible.
46
+ # 3. The change may change the public interface of the library in such a way
47
+ # that old software is no longer compatible.
48
+ #
49
+ #
50
+ # Some examples are appropriate at this point. Suppose I have a Stack class
51
+ # that supports a `push` and a `pop` method.
52
+ #
53
+ # ### Examples of Category 1 changes:
54
+ #
55
+ # * Switch from an array based implementation to a linked-list based
56
+ # implementation.
57
+ # * Provide an automatic (and transparent) backing store for large stacks.
58
+ #
59
+ #
60
+ # ### Examples of Category 2 changes might be:
61
+ #
62
+ # * Add a `depth` method to return the current depth of the stack.
63
+ # * Add a `top` method that returns the current top of stack (without changing
64
+ # the stack).
65
+ # * Change `push` so that it returns the item pushed (previously it had no
66
+ # usable return value).
67
+ #
68
+ #
69
+ # ### Examples of Category 3 changes might be:
70
+ #
71
+ # * Changes `pop` so that it no longer returns a value (you must use `top` to
72
+ # get the top of the stack).
73
+ # * Rename the methods to `push_item` and `pop_item`.
74
+ #
75
+ #
76
+ # ## RubyGems Rational Versioning
77
+ #
78
+ # * Versions shall be represented by three non-negative integers, separated by
79
+ # periods (e.g. 3.1.4). The first integers is the "major" version number,
80
+ # the second integer is the "minor" version number, and the third integer is
81
+ # the "build" number.
82
+ #
83
+ # * A category 1 change (implementation detail) will increment the build
84
+ # number.
85
+ #
86
+ # * A category 2 change (backwards compatible) will increment the minor
87
+ # version number and reset the build number.
88
+ #
89
+ # * A category 3 change (incompatible) will increment the major build number
90
+ # and reset the minor and build numbers.
91
+ #
92
+ # * Any "public" release of a gem should have a different version. Normally
93
+ # that means incrementing the build number. This means a developer can
94
+ # generate builds all day long, but as soon as they make a public release,
95
+ # the version must be updated.
96
+ #
97
+ #
98
+ # ### Examples
99
+ #
100
+ # Let's work through a project lifecycle using our Stack example from above.
101
+ #
102
+ # Version 0.0.1
103
+ # : The initial Stack class is release.
104
+ # Version 0.0.2
105
+ # : Switched to a linked=list implementation because it is cooler.
106
+ # Version 0.1.0
107
+ # : Added a `depth` method.
108
+ # Version 1.0.0
109
+ # : Added `top` and made `pop` return nil (`pop` used to return the old top
110
+ # item).
111
+ # Version 1.1.0
112
+ # : `push` now returns the value pushed (it used it return nil).
113
+ # Version 1.1.1
114
+ # : Fixed a bug in the linked list implementation.
115
+ # Version 1.1.2
116
+ # : Fixed a bug introduced in the last fix.
117
+ #
118
+ #
119
+ # Client A needs a stack with basic push/pop capability. They write to the
120
+ # original interface (no `top`), so their version constraint looks like:
121
+ #
122
+ # gem 'stack', '>= 0.0'
123
+ #
124
+ # Essentially, any version is OK with Client A. An incompatible change to the
125
+ # library will cause them grief, but they are willing to take the chance (we
126
+ # call Client A optimistic).
127
+ #
128
+ # Client B is just like Client A except for two things: (1) They use the `depth`
129
+ # method and (2) they are worried about future incompatibilities, so they write
130
+ # their version constraint like this:
131
+ #
132
+ # gem 'stack', '~> 0.1'
133
+ #
134
+ # The `depth` method was introduced in version 0.1.0, so that version or
135
+ # anything later is fine, as long as the version stays below version 1.0 where
136
+ # incompatibilities are introduced. We call Client B pessimistic because they
137
+ # are worried about incompatible future changes (it is OK to be pessimistic!).
138
+ #
139
+ # ## Preventing Version Catastrophe:
140
+ #
141
+ # From: http://blog.zenspider.com/2008/10/rubygems-howto-preventing-cata.html
142
+ #
143
+ # Let's say you're depending on the fnord gem version 2.y.z. If you specify your
144
+ # dependency as ">= 2.0.0" then, you're good, right? What happens if fnord 3.0
145
+ # comes out and it isn't backwards compatible with 2.y.z? Your stuff will break
146
+ # as a result of using ">=". The better route is to specify your dependency with
147
+ # an "approximate" version specifier ("~>"). They're a tad confusing, so here is
148
+ # how the dependency specifiers work:
149
+ #
150
+ # Specification From ... To (exclusive)
151
+ # ">= 3.0" 3.0 ... &infin;
152
+ # "~> 3.0" 3.0 ... 4.0
153
+ # "~> 3.0.0" 3.0.0 ... 3.1
154
+ # "~> 3.5" 3.5 ... 4.0
155
+ # "~> 3.5.0" 3.5.0 ... 3.6
156
+ # "~> 3" 3.0 ... 4.0
157
+ #
158
+ # For the last example, single-digit versions are automatically extended with a
159
+ # zero to give a sensible result.
160
+ #
3
161
  class Version
4
162
  include Comparable
5
163
 
@@ -40,7 +198,7 @@ module Gem
40
198
  # -->
41
199
  # Compares this version with `other` returning -1, 0, or 1 if the other version
42
200
  # is larger, the same, or smaller than this one. Attempts to compare to
43
- # something that's not a `Gem::Version` return `nil`.
201
+ # something that's not a `Gem::Version` or a valid version String return `nil`.
44
202
  #
45
203
  def <=>: (untyped other) -> Integer?
46
204
 
data/steep/Gemfile.lock CHANGED
@@ -1,45 +1,43 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- activesupport (6.1.4.1)
4
+ activesupport (7.0.2.3)
5
5
  concurrent-ruby (~> 1.0, >= 1.0.2)
6
6
  i18n (>= 1.6, < 2)
7
7
  minitest (>= 5.1)
8
8
  tzinfo (~> 2.0)
9
- zeitwerk (~> 2.3)
10
9
  ast (2.4.2)
11
- concurrent-ruby (1.1.9)
12
- ffi (1.15.4)
13
- i18n (1.8.11)
10
+ concurrent-ruby (1.1.10)
11
+ ffi (1.15.5)
12
+ i18n (1.10.0)
14
13
  concurrent-ruby (~> 1.0)
15
14
  language_server-protocol (3.16.0.3)
16
- listen (3.7.0)
15
+ listen (3.7.1)
17
16
  rb-fsevent (~> 0.10, >= 0.10.3)
18
17
  rb-inotify (~> 0.9, >= 0.9.10)
19
- minitest (5.14.4)
20
- parallel (1.21.0)
21
- parser (3.0.3.1)
18
+ minitest (5.15.0)
19
+ parallel (1.22.0)
20
+ parser (3.1.1.0)
22
21
  ast (~> 2.4.1)
23
- rainbow (3.0.0)
24
- rb-fsevent (0.11.0)
22
+ rainbow (3.1.1)
23
+ rb-fsevent (0.11.1)
25
24
  rb-inotify (0.10.1)
26
25
  ffi (~> 1.0)
27
- rbs (1.7.1)
28
- steep (0.47.0)
26
+ rbs (2.2.2)
27
+ steep (0.50.0)
29
28
  activesupport (>= 5.1)
30
29
  language_server-protocol (>= 3.15, < 4.0)
31
30
  listen (~> 3.0)
32
31
  parallel (>= 1.0.0)
33
32
  parser (>= 3.0)
34
33
  rainbow (>= 2.2.2, < 4.0)
35
- rbs (~> 1.7.0)
34
+ rbs (>= 2.2.0)
36
35
  terminal-table (>= 2, < 4)
37
36
  terminal-table (3.0.2)
38
37
  unicode-display_width (>= 1.1.1, < 3)
39
38
  tzinfo (2.0.4)
40
39
  concurrent-ruby (~> 1.0)
41
40
  unicode-display_width (2.1.0)
42
- zeitwerk (2.5.1)
43
41
 
44
42
  PLATFORMS
45
43
  ruby
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-22 00:00:00.000000000 Z
11
+ date: 2022-04-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: RBS is the language for type signatures for Ruby and standard library
14
14
  definitions.
@@ -29,6 +29,7 @@ files:
29
29
  - CHANGELOG.md
30
30
  - COPYING
31
31
  - Gemfile
32
+ - Gemfile.lock
32
33
  - README.md
33
34
  - Rakefile
34
35
  - Steepfile
@@ -171,6 +172,8 @@ files:
171
172
  - lib/rbs/prototype/rbi.rb
172
173
  - lib/rbs/prototype/runtime.rb
173
174
  - lib/rbs/repository.rb
175
+ - lib/rbs/resolver/constant_resolver.rb
176
+ - lib/rbs/resolver/type_name_resolver.rb
174
177
  - lib/rbs/substitution.rb
175
178
  - lib/rbs/test.rb
176
179
  - lib/rbs/test/errors.rb
@@ -228,6 +231,7 @@ files:
228
231
  - sig/errors.rbs
229
232
  - sig/location.rbs
230
233
  - sig/locator.rbs
234
+ - sig/manifest.yaml
231
235
  - sig/members.rbs
232
236
  - sig/method_builder.rbs
233
237
  - sig/method_types.rbs
@@ -236,6 +240,9 @@ files:
236
240
  - sig/polyfill.rbs
237
241
  - sig/rbs.rbs
238
242
  - sig/repository.rbs
243
+ - sig/resolver/constant_resolver.rbs
244
+ - sig/resolver/context.rbs
245
+ - sig/resolver/type_name_resolver.rbs
239
246
  - sig/substitution.rbs
240
247
  - sig/type_alias_dependency.rbs
241
248
  - sig/type_alias_regularity.rbs
@@ -373,7 +380,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
373
380
  - !ruby/object:Gem::Version
374
381
  version: '0'
375
382
  requirements: []
376
- rubygems_version: 3.3.6
383
+ rubygems_version: 3.3.7
377
384
  signing_key:
378
385
  specification_version: 4
379
386
  summary: Type signature for Ruby.