rbs 0.13.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +9 -5
  3. data/.gitignore +0 -1
  4. data/CHANGELOG.md +33 -1
  5. data/Gemfile +4 -0
  6. data/README.md +9 -3
  7. data/Rakefile +14 -1
  8. data/Steepfile +1 -1
  9. data/bin/annotate-with-rdoc +1 -1
  10. data/bin/setup +0 -2
  11. data/bin/test_runner.rb +15 -1
  12. data/{stdlib/builtin → core}/array.rbs +124 -120
  13. data/{stdlib/builtin → core}/basic_object.rbs +54 -54
  14. data/{stdlib/builtin → core}/binding.rbs +42 -42
  15. data/core/builtin.rbs +70 -0
  16. data/{stdlib/builtin → core}/class.rbs +33 -33
  17. data/{stdlib/builtin → core}/comparable.rbs +0 -0
  18. data/{stdlib/builtin → core}/complex.rbs +90 -90
  19. data/{stdlib/builtin → core}/constants.rbs +0 -0
  20. data/{stdlib/builtin → core}/data.rbs +0 -0
  21. data/{stdlib/builtin → core}/deprecated.rbs +0 -0
  22. data/{stdlib/builtin → core}/dir.rbs +1 -1
  23. data/{stdlib/builtin → core}/encoding.rbs +33 -33
  24. data/{stdlib/builtin → core}/enumerable.rbs +99 -92
  25. data/{stdlib/builtin → core}/enumerator.rbs +40 -40
  26. data/{stdlib/builtin → core}/errno.rbs +0 -0
  27. data/{stdlib/builtin → core}/errors.rbs +2 -2
  28. data/{stdlib/builtin → core}/exception.rbs +50 -50
  29. data/{stdlib/builtin → core}/false_class.rbs +6 -6
  30. data/{stdlib/builtin → core}/fiber.rbs +14 -14
  31. data/{stdlib/builtin → core}/fiber_error.rbs +1 -1
  32. data/{stdlib/builtin → core}/file.rbs +0 -0
  33. data/{stdlib/builtin → core}/file_test.rbs +0 -0
  34. data/{stdlib/builtin → core}/float.rbs +161 -161
  35. data/{stdlib/builtin → core}/gc.rbs +3 -3
  36. data/{stdlib/builtin → core}/hash.rbs +15 -15
  37. data/{stdlib/builtin → core}/integer.rbs +0 -0
  38. data/{stdlib/builtin → core}/io.rbs +89 -89
  39. data/{stdlib/builtin → core}/kernel.rbs +70 -154
  40. data/{stdlib/builtin → core}/marshal.rbs +0 -0
  41. data/{stdlib/builtin → core}/match_data.rbs +1 -1
  42. data/{stdlib/builtin → core}/math.rbs +0 -0
  43. data/{stdlib/builtin → core}/method.rbs +19 -19
  44. data/{stdlib/builtin → core}/module.rbs +13 -13
  45. data/{stdlib/builtin → core}/nil_class.rbs +20 -20
  46. data/{stdlib/builtin → core}/numeric.rbs +101 -101
  47. data/{stdlib/builtin → core}/object.rbs +173 -173
  48. data/{stdlib/builtin → core}/proc.rbs +91 -91
  49. data/{stdlib/builtin → core}/process.rbs +0 -0
  50. data/{stdlib/builtin → core}/random.rbs +1 -1
  51. data/{stdlib/builtin → core}/range.rbs +4 -6
  52. data/{stdlib/builtin → core}/rational.rbs +83 -83
  53. data/{stdlib/builtin → core}/rb_config.rbs +0 -0
  54. data/{stdlib/builtin → core}/regexp.rbs +0 -0
  55. data/{stdlib/builtin → core}/ruby_vm.rbs +0 -0
  56. data/{stdlib/builtin → core}/signal.rbs +7 -7
  57. data/{stdlib/builtin → core}/string.rbs +10 -10
  58. data/{stdlib/builtin → core}/string_io.rbs +8 -8
  59. data/{stdlib/builtin → core}/struct.rbs +2 -2
  60. data/{stdlib/builtin → core}/symbol.rbs +1 -1
  61. data/{stdlib/builtin → core}/thread.rbs +189 -189
  62. data/{stdlib/builtin → core}/thread_group.rbs +2 -2
  63. data/{stdlib/builtin → core}/time.rbs +0 -0
  64. data/{stdlib/builtin → core}/trace_point.rbs +0 -0
  65. data/{stdlib/builtin → core}/true_class.rbs +10 -10
  66. data/{stdlib/builtin → core}/unbound_method.rbs +0 -0
  67. data/{stdlib/builtin → core}/warning.rbs +1 -1
  68. data/docs/CONTRIBUTING.md +1 -0
  69. data/docs/repo.md +125 -0
  70. data/docs/syntax.md +50 -6
  71. data/goodcheck.yml +22 -5
  72. data/lib/rbs.rb +1 -0
  73. data/lib/rbs/ast/comment.rb +1 -1
  74. data/lib/rbs/cli.rb +105 -103
  75. data/lib/rbs/definition.rb +9 -4
  76. data/lib/rbs/definition_builder.rb +54 -22
  77. data/lib/rbs/environment.rb +1 -1
  78. data/lib/rbs/environment_loader.rb +79 -105
  79. data/lib/rbs/namespace.rb +1 -1
  80. data/lib/rbs/parser.rb +3153 -0
  81. data/lib/rbs/parser.y +25 -11
  82. data/lib/rbs/prototype/rb.rb +47 -9
  83. data/lib/rbs/prototype/runtime.rb +17 -7
  84. data/lib/rbs/repository.rb +121 -0
  85. data/lib/rbs/test/hook.rb +2 -0
  86. data/lib/rbs/test/setup.rb +5 -3
  87. data/lib/rbs/test/setup_helper.rb +4 -4
  88. data/lib/rbs/test/tester.rb +4 -1
  89. data/lib/rbs/test/type_check.rb +12 -6
  90. data/lib/rbs/type_name.rb +3 -2
  91. data/lib/rbs/variance_calculator.rb +1 -1
  92. data/lib/rbs/vendorer.rb +38 -16
  93. data/lib/rbs/version.rb +1 -1
  94. data/lib/rbs/writer.rb +1 -1
  95. data/sig/cli.rbs +58 -0
  96. data/sig/constant.rbs +2 -2
  97. data/sig/constant_table.rbs +11 -11
  98. data/sig/declarations.rbs +2 -2
  99. data/sig/definition.rbs +10 -5
  100. data/sig/definition_builder.rbs +4 -1
  101. data/sig/environment_loader.rbs +92 -46
  102. data/sig/members.rbs +2 -2
  103. data/sig/method_types.rbs +1 -1
  104. data/sig/namespace.rbs +4 -4
  105. data/sig/parser.rbs +25 -0
  106. data/sig/polyfill.rbs +42 -0
  107. data/sig/rbs.rbs +8 -0
  108. data/sig/repository.rbs +79 -0
  109. data/sig/substitution.rbs +3 -3
  110. data/sig/typename.rbs +1 -1
  111. data/sig/types.rbs +1 -1
  112. data/sig/vendorer.rbs +44 -0
  113. data/sig/writer.rbs +15 -15
  114. data/stdlib/abbrev/{abbrev.rbs → 0/abbrev.rbs} +0 -0
  115. data/stdlib/base64/{base64.rbs → 0/base64.rbs} +1 -1
  116. data/stdlib/benchmark/{benchmark.rbs → 0/benchmark.rbs} +2 -2
  117. data/stdlib/{bigdecimal/math → bigdecimal-math/0}/big_math.rbs +0 -0
  118. data/stdlib/bigdecimal/{big_decimal.rbs → 0/big_decimal.rbs} +0 -0
  119. data/stdlib/coverage/{coverage.rbs → 0/coverage.rbs} +2 -2
  120. data/stdlib/csv/{csv.rbs → 0/csv.rbs} +4 -4
  121. data/stdlib/date/{date.rbs → 0/date.rbs} +4 -4
  122. data/stdlib/date/{date_time.rbs → 0/date_time.rbs} +1 -1
  123. data/stdlib/dbm/0/dbm.rbs +277 -0
  124. data/stdlib/erb/{erb.rbs → 0/erb.rbs} +0 -0
  125. data/stdlib/fiber/{fiber.rbs → 0/fiber.rbs} +0 -0
  126. data/stdlib/find/{find.rbs → 0/find.rbs} +12 -12
  127. data/stdlib/forwardable/{forwardable.rbs → 0/forwardable.rbs} +0 -0
  128. data/stdlib/ipaddr/{ipaddr.rbs → 0/ipaddr.rbs} +0 -0
  129. data/stdlib/json/{json.rbs → 0/json.rbs} +0 -0
  130. data/stdlib/logger/{formatter.rbs → 0/formatter.rbs} +0 -0
  131. data/stdlib/logger/{log_device.rbs → 0/log_device.rbs} +1 -1
  132. data/stdlib/logger/{logger.rbs → 0/logger.rbs} +1 -1
  133. data/stdlib/logger/{period.rbs → 0/period.rbs} +0 -0
  134. data/stdlib/logger/{severity.rbs → 0/severity.rbs} +0 -0
  135. data/stdlib/mutex_m/{mutex_m.rbs → 0/mutex_m.rbs} +0 -0
  136. data/stdlib/pathname/{pathname.rbs → 0/pathname.rbs} +40 -40
  137. data/stdlib/prime/{integer-extension.rbs → 0/integer-extension.rbs} +0 -0
  138. data/stdlib/prime/{prime.rbs → 0/prime.rbs} +1 -1
  139. data/stdlib/pstore/0/pstore.rbs +287 -0
  140. data/stdlib/pty/{pty.rbs → 0/pty.rbs} +1 -1
  141. data/stdlib/securerandom/{securerandom.rbs → 0/securerandom.rbs} +0 -0
  142. data/stdlib/set/{set.rbs → 0/set.rbs} +10 -10
  143. data/stdlib/tmpdir/{tmpdir.rbs → 0/tmpdir.rbs} +12 -12
  144. data/stdlib/tsort/0/cyclic.rbs +4 -0
  145. data/stdlib/tsort/0/interfaces.rbs +19 -0
  146. data/stdlib/tsort/0/tsort.rbs +363 -0
  147. data/stdlib/uri/{file.rbs → 0/file.rbs} +0 -0
  148. data/stdlib/uri/{generic.rbs → 0/generic.rbs} +1 -1
  149. data/stdlib/uri/{http.rbs → 0/http.rbs} +0 -0
  150. data/stdlib/uri/{https.rbs → 0/https.rbs} +0 -0
  151. data/stdlib/uri/{ldap.rbs → 0/ldap.rbs} +0 -0
  152. data/stdlib/uri/{ldaps.rbs → 0/ldaps.rbs} +0 -0
  153. data/stdlib/zlib/{zlib.rbs → 0/zlib.rbs} +0 -0
  154. data/steep/Gemfile.lock +9 -9
  155. metadata +104 -93
  156. data/stdlib/builtin/builtin.rbs +0 -42
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: 0.13.0
4
+ version: 0.17.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: 2020-10-09 00:00:00.000000000 Z
11
+ date: 2020-11-14 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.
@@ -38,7 +38,64 @@ files:
38
38
  - bin/sort
39
39
  - bin/steep
40
40
  - bin/test_runner.rb
41
+ - core/array.rbs
42
+ - core/basic_object.rbs
43
+ - core/binding.rbs
44
+ - core/builtin.rbs
45
+ - core/class.rbs
46
+ - core/comparable.rbs
47
+ - core/complex.rbs
48
+ - core/constants.rbs
49
+ - core/data.rbs
50
+ - core/deprecated.rbs
51
+ - core/dir.rbs
52
+ - core/encoding.rbs
53
+ - core/enumerable.rbs
54
+ - core/enumerator.rbs
55
+ - core/errno.rbs
56
+ - core/errors.rbs
57
+ - core/exception.rbs
58
+ - core/false_class.rbs
59
+ - core/fiber.rbs
60
+ - core/fiber_error.rbs
61
+ - core/file.rbs
62
+ - core/file_test.rbs
63
+ - core/float.rbs
64
+ - core/gc.rbs
65
+ - core/hash.rbs
66
+ - core/integer.rbs
67
+ - core/io.rbs
68
+ - core/kernel.rbs
69
+ - core/marshal.rbs
70
+ - core/match_data.rbs
71
+ - core/math.rbs
72
+ - core/method.rbs
73
+ - core/module.rbs
74
+ - core/nil_class.rbs
75
+ - core/numeric.rbs
76
+ - core/object.rbs
77
+ - core/proc.rbs
78
+ - core/process.rbs
79
+ - core/random.rbs
80
+ - core/range.rbs
81
+ - core/rational.rbs
82
+ - core/rb_config.rbs
83
+ - core/regexp.rbs
84
+ - core/ruby_vm.rbs
85
+ - core/signal.rbs
86
+ - core/string.rbs
87
+ - core/string_io.rbs
88
+ - core/struct.rbs
89
+ - core/symbol.rbs
90
+ - core/thread.rbs
91
+ - core/thread_group.rbs
92
+ - core/time.rbs
93
+ - core/trace_point.rbs
94
+ - core/true_class.rbs
95
+ - core/unbound_method.rbs
96
+ - core/warning.rbs
41
97
  - docs/CONTRIBUTING.md
98
+ - docs/repo.md
42
99
  - docs/sigs.md
43
100
  - docs/stdlib.md
44
101
  - docs/syntax.md
@@ -69,6 +126,7 @@ files:
69
126
  - lib/rbs/prototype/rb.rb
70
127
  - lib/rbs/prototype/rbi.rb
71
128
  - lib/rbs/prototype/runtime.rb
129
+ - lib/rbs/repository.rb
72
130
  - lib/rbs/substitution.rb
73
131
  - lib/rbs/test.rb
74
132
  - lib/rbs/test/errors.rb
@@ -100,6 +158,7 @@ files:
100
158
  - sig/annotation.rbs
101
159
  - sig/buffer.rbs
102
160
  - sig/builtin_names.rbs
161
+ - sig/cli.rbs
103
162
  - sig/comment.rbs
104
163
  - sig/constant.rbs
105
164
  - sig/constant_table.rbs
@@ -112,107 +171,59 @@ files:
112
171
  - sig/members.rbs
113
172
  - sig/method_types.rbs
114
173
  - sig/namespace.rbs
174
+ - sig/parser.rbs
115
175
  - sig/polyfill.rbs
116
176
  - sig/rbs.rbs
177
+ - sig/repository.rbs
117
178
  - sig/substitution.rbs
118
179
  - sig/type_name_resolver.rbs
119
180
  - sig/typename.rbs
120
181
  - sig/types.rbs
121
182
  - sig/util.rbs
122
183
  - sig/variance_calculator.rbs
184
+ - sig/vendorer.rbs
123
185
  - sig/version.rbs
124
186
  - sig/writer.rbs
125
- - stdlib/abbrev/abbrev.rbs
126
- - stdlib/base64/base64.rbs
127
- - stdlib/benchmark/benchmark.rbs
128
- - stdlib/bigdecimal/big_decimal.rbs
129
- - stdlib/bigdecimal/math/big_math.rbs
130
- - stdlib/builtin/array.rbs
131
- - stdlib/builtin/basic_object.rbs
132
- - stdlib/builtin/binding.rbs
133
- - stdlib/builtin/builtin.rbs
134
- - stdlib/builtin/class.rbs
135
- - stdlib/builtin/comparable.rbs
136
- - stdlib/builtin/complex.rbs
137
- - stdlib/builtin/constants.rbs
138
- - stdlib/builtin/data.rbs
139
- - stdlib/builtin/deprecated.rbs
140
- - stdlib/builtin/dir.rbs
141
- - stdlib/builtin/encoding.rbs
142
- - stdlib/builtin/enumerable.rbs
143
- - stdlib/builtin/enumerator.rbs
144
- - stdlib/builtin/errno.rbs
145
- - stdlib/builtin/errors.rbs
146
- - stdlib/builtin/exception.rbs
147
- - stdlib/builtin/false_class.rbs
148
- - stdlib/builtin/fiber.rbs
149
- - stdlib/builtin/fiber_error.rbs
150
- - stdlib/builtin/file.rbs
151
- - stdlib/builtin/file_test.rbs
152
- - stdlib/builtin/float.rbs
153
- - stdlib/builtin/gc.rbs
154
- - stdlib/builtin/hash.rbs
155
- - stdlib/builtin/integer.rbs
156
- - stdlib/builtin/io.rbs
157
- - stdlib/builtin/kernel.rbs
158
- - stdlib/builtin/marshal.rbs
159
- - stdlib/builtin/match_data.rbs
160
- - stdlib/builtin/math.rbs
161
- - stdlib/builtin/method.rbs
162
- - stdlib/builtin/module.rbs
163
- - stdlib/builtin/nil_class.rbs
164
- - stdlib/builtin/numeric.rbs
165
- - stdlib/builtin/object.rbs
166
- - stdlib/builtin/proc.rbs
167
- - stdlib/builtin/process.rbs
168
- - stdlib/builtin/random.rbs
169
- - stdlib/builtin/range.rbs
170
- - stdlib/builtin/rational.rbs
171
- - stdlib/builtin/rb_config.rbs
172
- - stdlib/builtin/regexp.rbs
173
- - stdlib/builtin/ruby_vm.rbs
174
- - stdlib/builtin/signal.rbs
175
- - stdlib/builtin/string.rbs
176
- - stdlib/builtin/string_io.rbs
177
- - stdlib/builtin/struct.rbs
178
- - stdlib/builtin/symbol.rbs
179
- - stdlib/builtin/thread.rbs
180
- - stdlib/builtin/thread_group.rbs
181
- - stdlib/builtin/time.rbs
182
- - stdlib/builtin/trace_point.rbs
183
- - stdlib/builtin/true_class.rbs
184
- - stdlib/builtin/unbound_method.rbs
185
- - stdlib/builtin/warning.rbs
186
- - stdlib/coverage/coverage.rbs
187
- - stdlib/csv/csv.rbs
188
- - stdlib/date/date.rbs
189
- - stdlib/date/date_time.rbs
190
- - stdlib/erb/erb.rbs
191
- - stdlib/fiber/fiber.rbs
192
- - stdlib/find/find.rbs
193
- - stdlib/forwardable/forwardable.rbs
194
- - stdlib/ipaddr/ipaddr.rbs
195
- - stdlib/json/json.rbs
196
- - stdlib/logger/formatter.rbs
197
- - stdlib/logger/log_device.rbs
198
- - stdlib/logger/logger.rbs
199
- - stdlib/logger/period.rbs
200
- - stdlib/logger/severity.rbs
201
- - stdlib/mutex_m/mutex_m.rbs
202
- - stdlib/pathname/pathname.rbs
203
- - stdlib/prime/integer-extension.rbs
204
- - stdlib/prime/prime.rbs
205
- - stdlib/pty/pty.rbs
206
- - stdlib/securerandom/securerandom.rbs
207
- - stdlib/set/set.rbs
208
- - stdlib/tmpdir/tmpdir.rbs
209
- - stdlib/uri/file.rbs
210
- - stdlib/uri/generic.rbs
211
- - stdlib/uri/http.rbs
212
- - stdlib/uri/https.rbs
213
- - stdlib/uri/ldap.rbs
214
- - stdlib/uri/ldaps.rbs
215
- - stdlib/zlib/zlib.rbs
187
+ - stdlib/abbrev/0/abbrev.rbs
188
+ - stdlib/base64/0/base64.rbs
189
+ - stdlib/benchmark/0/benchmark.rbs
190
+ - stdlib/bigdecimal-math/0/big_math.rbs
191
+ - stdlib/bigdecimal/0/big_decimal.rbs
192
+ - stdlib/coverage/0/coverage.rbs
193
+ - stdlib/csv/0/csv.rbs
194
+ - stdlib/date/0/date.rbs
195
+ - stdlib/date/0/date_time.rbs
196
+ - stdlib/dbm/0/dbm.rbs
197
+ - stdlib/erb/0/erb.rbs
198
+ - stdlib/fiber/0/fiber.rbs
199
+ - stdlib/find/0/find.rbs
200
+ - stdlib/forwardable/0/forwardable.rbs
201
+ - stdlib/ipaddr/0/ipaddr.rbs
202
+ - stdlib/json/0/json.rbs
203
+ - stdlib/logger/0/formatter.rbs
204
+ - stdlib/logger/0/log_device.rbs
205
+ - stdlib/logger/0/logger.rbs
206
+ - stdlib/logger/0/period.rbs
207
+ - stdlib/logger/0/severity.rbs
208
+ - stdlib/mutex_m/0/mutex_m.rbs
209
+ - stdlib/pathname/0/pathname.rbs
210
+ - stdlib/prime/0/integer-extension.rbs
211
+ - stdlib/prime/0/prime.rbs
212
+ - stdlib/pstore/0/pstore.rbs
213
+ - stdlib/pty/0/pty.rbs
214
+ - stdlib/securerandom/0/securerandom.rbs
215
+ - stdlib/set/0/set.rbs
216
+ - stdlib/tmpdir/0/tmpdir.rbs
217
+ - stdlib/tsort/0/cyclic.rbs
218
+ - stdlib/tsort/0/interfaces.rbs
219
+ - stdlib/tsort/0/tsort.rbs
220
+ - stdlib/uri/0/file.rbs
221
+ - stdlib/uri/0/generic.rbs
222
+ - stdlib/uri/0/http.rbs
223
+ - stdlib/uri/0/https.rbs
224
+ - stdlib/uri/0/ldap.rbs
225
+ - stdlib/uri/0/ldaps.rbs
226
+ - stdlib/zlib/0/zlib.rbs
216
227
  - steep/Gemfile
217
228
  - steep/Gemfile.lock
218
229
  homepage: https://github.com/ruby/rbs
@@ -1,42 +0,0 @@
1
- interface _ToI
2
- def to_i: -> Integer
3
- end
4
-
5
- interface _ToInt
6
- def to_int: -> Integer
7
- end
8
-
9
- interface _ToS
10
- def to_s: -> String
11
- end
12
-
13
- interface _ToStr
14
- def to_str: () -> String
15
- end
16
-
17
- interface _ToHash[K, V]
18
- def to_hash: () -> Hash[K, V]
19
- end
20
-
21
- interface _ToProc
22
- def to_proc: () -> untyped
23
- end
24
-
25
- interface _ToPath
26
- def to_path: () -> String
27
- end
28
-
29
- interface _Each[out A, out B]
30
- def each: { (A) -> void } -> B
31
- end
32
-
33
- interface _Exception
34
- def exception: () -> Exception
35
- | (String arg0) -> Exception
36
- end
37
-
38
- type int = Integer | _ToInt
39
- type real = Integer | Float | Rational
40
-
41
- type string = String | _ToStr
42
- type encoding = Encoding | string