rbs 2.0.0 → 2.2.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.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +34 -0
  3. data/.github/workflows/ruby.yml +5 -0
  4. data/CHANGELOG.md +82 -0
  5. data/README.md +6 -1
  6. data/Rakefile +56 -21
  7. data/core/array.rbs +2866 -1086
  8. data/core/basic_object.rbs +150 -30
  9. data/core/binding.rbs +33 -0
  10. data/core/builtin.rbs +4 -4
  11. data/core/class.rbs +43 -5
  12. data/core/comparable.rbs +57 -0
  13. data/core/complex.rbs +170 -4
  14. data/core/constants.rbs +51 -0
  15. data/core/deprecated.rbs +7 -0
  16. data/core/dir.rbs +305 -20
  17. data/core/encoding.rbs +1214 -77
  18. data/core/enumerable.rbs +2173 -234
  19. data/core/enumerator.rbs +448 -182
  20. data/core/env.rbs +448 -1
  21. data/core/errno.rbs +1 -10
  22. data/core/errors.rbs +152 -2
  23. data/core/exception.rbs +201 -127
  24. data/core/false_class.rbs +27 -0
  25. data/core/fiber.rbs +118 -37
  26. data/core/fiber_error.rbs +8 -9
  27. data/core/file.rbs +1060 -142
  28. data/core/file_test.rbs +287 -32
  29. data/core/float.rbs +776 -300
  30. data/core/gc.rbs +185 -34
  31. data/core/global_variables.rbs +5 -1
  32. data/core/hash.rbs +1582 -649
  33. data/core/integer.rbs +974 -204
  34. data/core/io/buffer.rbs +710 -0
  35. data/core/io/wait.rbs +29 -8
  36. data/core/io.rbs +2438 -417
  37. data/core/kernel.rbs +2319 -318
  38. data/core/marshal.rbs +37 -2
  39. data/core/match_data.rbs +123 -6
  40. data/core/math.rbs +126 -6
  41. data/core/method.rbs +226 -102
  42. data/core/module.rbs +421 -45
  43. data/core/nil_class.rbs +64 -0
  44. data/core/numeric.rbs +620 -142
  45. data/core/object.rbs +453 -81
  46. data/core/object_space.rbs +92 -2
  47. data/core/proc.rbs +482 -285
  48. data/core/process.rbs +443 -34
  49. data/core/ractor.rbs +232 -9
  50. data/core/random.rbs +151 -52
  51. data/core/range.rbs +885 -160
  52. data/core/rational.rbs +122 -6
  53. data/core/rb_config.rbs +14 -4
  54. data/core/refinement.rbs +44 -0
  55. data/core/regexp.rbs +156 -14
  56. data/core/ruby_vm.rbs +42 -3
  57. data/core/signal.rbs +78 -39
  58. data/core/string.rbs +2123 -567
  59. data/core/string_io.rbs +204 -0
  60. data/core/struct.rbs +283 -28
  61. data/core/symbol.rbs +304 -30
  62. data/core/thread.rbs +1288 -688
  63. data/core/thread_group.rbs +66 -10
  64. data/core/time.rbs +643 -217
  65. data/core/trace_point.rbs +100 -12
  66. data/core/true_class.rbs +24 -0
  67. data/core/unbound_method.rbs +73 -7
  68. data/core/warning.rbs +37 -12
  69. data/docs/CONTRIBUTING.md +40 -34
  70. data/docs/stdlib.md +3 -102
  71. data/docs/syntax.md +54 -11
  72. data/ext/rbs_extension/extconf.rb +1 -0
  73. data/ext/rbs_extension/lexer.h +5 -0
  74. data/ext/rbs_extension/lexstate.c +6 -0
  75. data/ext/rbs_extension/parser.c +85 -10
  76. data/ext/rbs_extension/ruby_objs.c +4 -2
  77. data/ext/rbs_extension/ruby_objs.h +2 -2
  78. data/goodcheck.yml +0 -11
  79. data/lib/rbs/annotate/annotations.rb +197 -0
  80. data/lib/rbs/annotate/formatter.rb +80 -0
  81. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  82. data/lib/rbs/annotate/rdoc_source.rb +120 -0
  83. data/lib/rbs/annotate.rb +6 -0
  84. data/lib/rbs/ast/members.rb +21 -13
  85. data/lib/rbs/buffer.rb +17 -11
  86. data/lib/rbs/cli.rb +48 -1
  87. data/lib/rbs/definition_builder/method_builder.rb +28 -16
  88. data/lib/rbs/definition_builder.rb +6 -2
  89. data/lib/rbs/environment.rb +8 -4
  90. data/lib/rbs/location_aux.rb +12 -0
  91. data/lib/rbs/namespace.rb +1 -1
  92. data/lib/rbs/prototype/rb.rb +12 -0
  93. data/lib/rbs/type_alias_regularity.rb +6 -4
  94. data/lib/rbs/type_name.rb +1 -1
  95. data/lib/rbs/types.rb +1 -1
  96. data/lib/rbs/validator.rb +6 -0
  97. data/lib/rbs/version.rb +1 -1
  98. data/lib/rbs/writer.rb +54 -4
  99. data/lib/rbs.rb +0 -2
  100. data/schema/typeParam.json +3 -3
  101. data/sig/annotate/annotations.rbs +102 -0
  102. data/sig/annotate/formatter.rbs +24 -0
  103. data/sig/annotate/rdoc_annotater.rbs +82 -0
  104. data/sig/annotate/rdoc_source.rbs +30 -0
  105. data/sig/buffer.rbs +6 -2
  106. data/sig/cli.rbs +2 -0
  107. data/sig/collection/{collections.rbs → sources.rbs} +0 -0
  108. data/sig/location.rbs +6 -0
  109. data/sig/members.rbs +24 -18
  110. data/sig/method_builder.rbs +5 -4
  111. data/sig/method_types.rbs +5 -1
  112. data/sig/polyfill.rbs +78 -0
  113. data/sig/validator.rbs +3 -1
  114. data/sig/writer.rbs +79 -2
  115. data/stdlib/abbrev/0/abbrev.rbs +6 -0
  116. data/stdlib/abbrev/0/array.rbs +26 -0
  117. data/stdlib/base64/0/base64.rbs +31 -0
  118. data/stdlib/benchmark/0/benchmark.rbs +74 -3
  119. data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
  120. data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
  121. data/stdlib/cgi/0/core.rbs +649 -21
  122. data/stdlib/coverage/0/coverage.rbs +164 -2
  123. data/stdlib/csv/0/csv.rbs +2862 -398
  124. data/stdlib/date/0/date.rbs +483 -25
  125. data/stdlib/date/0/date_time.rbs +187 -12
  126. data/stdlib/dbm/0/dbm.rbs +152 -17
  127. data/stdlib/digest/0/digest.rbs +146 -0
  128. data/stdlib/erb/0/erb.rbs +65 -245
  129. data/stdlib/fiber/0/fiber.rbs +73 -91
  130. data/stdlib/fileutils/0/fileutils.rbs +301 -1
  131. data/stdlib/find/0/find.rbs +9 -0
  132. data/stdlib/forwardable/0/forwardable.rbs +65 -1
  133. data/stdlib/io-console/0/io-console.rbs +227 -15
  134. data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
  135. data/stdlib/json/0/json.rbs +1147 -145
  136. data/stdlib/logger/0/formatter.rbs +24 -0
  137. data/stdlib/logger/0/log_device.rbs +64 -0
  138. data/stdlib/logger/0/logger.rbs +165 -13
  139. data/stdlib/logger/0/period.rbs +10 -0
  140. data/stdlib/logger/0/severity.rbs +26 -0
  141. data/stdlib/monitor/0/monitor.rbs +163 -0
  142. data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
  143. data/stdlib/net-http/0/manifest.yaml +1 -0
  144. data/stdlib/net-http/0/net-http.rbs +1513 -683
  145. data/stdlib/nkf/0/nkf.rbs +372 -0
  146. data/stdlib/objspace/0/objspace.rbs +149 -90
  147. data/stdlib/openssl/0/openssl.rbs +8108 -71
  148. data/stdlib/optparse/0/optparse.rbs +487 -19
  149. data/stdlib/pathname/0/pathname.rbs +425 -124
  150. data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
  151. data/stdlib/prime/0/integer-extension.rbs +20 -2
  152. data/stdlib/prime/0/prime.rbs +88 -21
  153. data/stdlib/pstore/0/pstore.rbs +102 -0
  154. data/stdlib/pty/0/pty.rbs +64 -14
  155. data/stdlib/resolv/0/resolv.rbs +420 -31
  156. data/stdlib/rubygems/0/basic_specification.rbs +4 -1
  157. data/stdlib/rubygems/0/config_file.rbs +33 -1
  158. data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
  159. data/stdlib/rubygems/0/installer.rbs +13 -1
  160. data/stdlib/rubygems/0/path_support.rbs +4 -1
  161. data/stdlib/rubygems/0/platform.rbs +5 -1
  162. data/stdlib/rubygems/0/request_set.rbs +44 -2
  163. data/stdlib/rubygems/0/requirement.rbs +65 -2
  164. data/stdlib/rubygems/0/rubygems.rbs +407 -0
  165. data/stdlib/rubygems/0/source_list.rbs +13 -0
  166. data/stdlib/rubygems/0/specification.rbs +21 -1
  167. data/stdlib/rubygems/0/stream_ui.rbs +3 -1
  168. data/stdlib/rubygems/0/uninstaller.rbs +8 -1
  169. data/stdlib/rubygems/0/version.rbs +60 -157
  170. data/stdlib/securerandom/0/securerandom.rbs +44 -0
  171. data/stdlib/set/0/set.rbs +423 -109
  172. data/stdlib/shellwords/0/shellwords.rbs +55 -77
  173. data/stdlib/singleton/0/singleton.rbs +20 -0
  174. data/stdlib/socket/0/addrinfo.rbs +210 -9
  175. data/stdlib/socket/0/basic_socket.rbs +103 -11
  176. data/stdlib/socket/0/ip_socket.rbs +31 -9
  177. data/stdlib/socket/0/socket.rbs +586 -38
  178. data/stdlib/socket/0/tcp_server.rbs +22 -2
  179. data/stdlib/socket/0/tcp_socket.rbs +12 -1
  180. data/stdlib/socket/0/udp_socket.rbs +25 -2
  181. data/stdlib/socket/0/unix_server.rbs +22 -2
  182. data/stdlib/socket/0/unix_socket.rbs +45 -5
  183. data/stdlib/strscan/0/string_scanner.rbs +210 -9
  184. data/stdlib/tempfile/0/tempfile.rbs +58 -10
  185. data/stdlib/time/0/time.rbs +208 -116
  186. data/stdlib/timeout/0/timeout.rbs +10 -0
  187. data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
  188. data/stdlib/tsort/0/cyclic.rbs +1 -0
  189. data/stdlib/tsort/0/interfaces.rbs +1 -0
  190. data/stdlib/tsort/0/tsort.rbs +42 -0
  191. data/stdlib/uri/0/common.rbs +57 -8
  192. data/stdlib/uri/0/file.rbs +55 -109
  193. data/stdlib/uri/0/ftp.rbs +6 -3
  194. data/stdlib/uri/0/generic.rbs +558 -329
  195. data/stdlib/uri/0/http.rbs +60 -114
  196. data/stdlib/uri/0/https.rbs +8 -102
  197. data/stdlib/uri/0/ldap.rbs +143 -137
  198. data/stdlib/uri/0/ldaps.rbs +8 -102
  199. data/stdlib/uri/0/mailto.rbs +3 -0
  200. data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
  201. data/stdlib/uri/0/ws.rbs +6 -3
  202. data/stdlib/uri/0/wss.rbs +5 -3
  203. data/stdlib/yaml/0/dbm.rbs +151 -87
  204. data/stdlib/yaml/0/store.rbs +6 -0
  205. data/stdlib/zlib/0/zlib.rbs +90 -31
  206. metadata +18 -6
  207. data/lib/rbs/location.rb +0 -221
  208. data/sig/char_scanner.rbs +0 -9
data/core/complex.rbs CHANGED
@@ -1,7 +1,18 @@
1
+ # <!-- rdoc-file=complex.c -->
1
2
  # A complex number can be represented as a paired real number with imaginary
2
3
  # unit; a+bi. Where a is real part, b is imaginary part and i is imaginary
3
4
  # unit. Real a equals complex a+0i mathematically.
4
5
  #
6
+ # You can create a Complex object explicitly with:
7
+ #
8
+ # * A [complex literal](doc/syntax/literals_rdoc.html#label-Complex+Literals).
9
+ #
10
+ #
11
+ # You can convert certain objects to Complex objects with:
12
+ #
13
+ # * Method [Complex](Kernel.html#method-i-Complex).
14
+ #
15
+ #
5
16
  # Complex object can be created as literal, and also by using Kernel#Complex,
6
17
  # Complex::rect, Complex::polar or to_c method.
7
18
  #
@@ -29,6 +40,10 @@
29
40
  # Complex(1, 1) / 2.0 #=> (0.5+0.5i)
30
41
  #
31
42
  class Complex < Numeric
43
+ # <!--
44
+ # rdoc-file=complex.c
45
+ # - Complex.polar(abs[, arg]) -> complex
46
+ # -->
32
47
  # Returns a complex object which denotes the given polar form.
33
48
  #
34
49
  # Complex.polar(3, 0) #=> (3.0+0.0i)
@@ -38,12 +53,22 @@ class Complex < Numeric
38
53
  #
39
54
  def self.polar: (Numeric, ?Numeric) -> Complex
40
55
 
56
+ # <!--
57
+ # rdoc-file=complex.c
58
+ # - Complex.rect(real[, imag]) -> complex
59
+ # - Complex.rectangular(real[, imag]) -> complex
60
+ # -->
41
61
  # Returns a complex object which denotes the given rectangular form.
42
62
  #
43
63
  # Complex.rectangular(1, 2) #=> (1+2i)
44
64
  #
45
65
  def self.rect: (Numeric, ?Numeric) -> Complex
46
66
 
67
+ # <!--
68
+ # rdoc-file=complex.c
69
+ # - Complex.rect(real[, imag]) -> complex
70
+ # - Complex.rectangular(real[, imag]) -> complex
71
+ # -->
47
72
  # Returns a complex object which denotes the given rectangular form.
48
73
  #
49
74
  # Complex.rectangular(1, 2) #=> (1+2i)
@@ -52,6 +77,10 @@ class Complex < Numeric
52
77
 
53
78
  public
54
79
 
80
+ # <!--
81
+ # rdoc-file=complex.c
82
+ # - cmp * numeric -> complex
83
+ # -->
55
84
  # Performs multiplication.
56
85
  #
57
86
  # Complex(2, 3) * Complex(2, 3) #=> (-5+12i)
@@ -62,6 +91,10 @@ class Complex < Numeric
62
91
  #
63
92
  def *: (Numeric) -> Complex
64
93
 
94
+ # <!--
95
+ # rdoc-file=complex.c
96
+ # - cmp ** numeric -> complex
97
+ # -->
65
98
  # Performs exponentiation.
66
99
  #
67
100
  # Complex('i') ** 2 #=> (-1+0i)
@@ -69,6 +102,10 @@ class Complex < Numeric
69
102
  #
70
103
  def **: (Numeric) -> Complex
71
104
 
105
+ # <!--
106
+ # rdoc-file=complex.c
107
+ # - cmp + numeric -> complex
108
+ # -->
72
109
  # Performs addition.
73
110
  #
74
111
  # Complex(2, 3) + Complex(2, 3) #=> (4+6i)
@@ -81,6 +118,10 @@ class Complex < Numeric
81
118
 
82
119
  def +@: () -> Complex
83
120
 
121
+ # <!--
122
+ # rdoc-file=complex.c
123
+ # - cmp - numeric -> complex
124
+ # -->
84
125
  # Performs subtraction.
85
126
  #
86
127
  # Complex(2, 3) - Complex(2, 3) #=> (0+0i)
@@ -91,12 +132,21 @@ class Complex < Numeric
91
132
  #
92
133
  def -: (Numeric) -> Complex
93
134
 
135
+ # <!--
136
+ # rdoc-file=complex.c
137
+ # - -cmp -> complex
138
+ # -->
94
139
  # Returns negation of the value.
95
140
  #
96
141
  # -Complex(1, 2) #=> (-1-2i)
97
142
  #
98
143
  def -@: () -> Complex
99
144
 
145
+ # <!--
146
+ # rdoc-file=complex.c
147
+ # - cmp / numeric -> complex
148
+ # - cmp.quo(numeric) -> complex
149
+ # -->
100
150
  # Performs division.
101
151
  #
102
152
  # Complex(2, 3) / Complex(2, 3) #=> ((1/1)+(0/1)*i)
@@ -111,6 +161,10 @@ class Complex < Numeric
111
161
 
112
162
  def <=: (Numeric) -> bot
113
163
 
164
+ # <!--
165
+ # rdoc-file=complex.c
166
+ # - cmp <=> object -> 0, 1, -1, or nil
167
+ # -->
114
168
  # If `cmp`'s imaginary part is zero, and `object` is also a real number (or a
115
169
  # Complex number where the imaginary part is zero), compare the real part of
116
170
  # `cmp` to object. Otherwise, return nil.
@@ -123,6 +177,10 @@ class Complex < Numeric
123
177
  #
124
178
  def <=>: (untyped) -> Integer?
125
179
 
180
+ # <!--
181
+ # rdoc-file=complex.c
182
+ # - cmp == object -> true or false
183
+ # -->
126
184
  # Returns true if cmp equals object numerically.
127
185
  #
128
186
  # Complex(2, 3) == Complex(2, 3) #=> true
@@ -137,6 +195,11 @@ class Complex < Numeric
137
195
 
138
196
  def >=: (Numeric) -> bot
139
197
 
198
+ # <!--
199
+ # rdoc-file=complex.c
200
+ # - cmp.abs -> real
201
+ # - cmp.magnitude -> real
202
+ # -->
140
203
  # Returns the absolute part of its polar form.
141
204
  #
142
205
  # Complex(-1).abs #=> 1
@@ -144,6 +207,10 @@ class Complex < Numeric
144
207
  #
145
208
  def abs: () -> Numeric
146
209
 
210
+ # <!--
211
+ # rdoc-file=complex.c
212
+ # - cmp.abs2 -> real
213
+ # -->
147
214
  # Returns square of the absolute value.
148
215
  #
149
216
  # Complex(-1).abs2 #=> 1
@@ -151,12 +218,19 @@ class Complex < Numeric
151
218
  #
152
219
  def abs2: () -> Numeric
153
220
 
221
+ # <!-- rdoc-file=complex.c -->
154
222
  # Returns the angle part of its polar form.
155
223
  #
156
224
  # Complex.polar(3, Math::PI/2).arg #=> 1.5707963267948966
157
225
  #
158
226
  def angle: () -> Float
159
227
 
228
+ # <!--
229
+ # rdoc-file=complex.c
230
+ # - cmp.arg -> float
231
+ # - cmp.angle -> float
232
+ # - cmp.phase -> float
233
+ # -->
160
234
  # Returns the angle part of its polar form.
161
235
  #
162
236
  # Complex.polar(3, Math::PI/2).arg #=> 1.5707963267948966
@@ -167,18 +241,28 @@ class Complex < Numeric
167
241
 
168
242
  def coerce: (Numeric) -> [ Complex, Complex ]
169
243
 
244
+ # <!-- rdoc-file=complex.c -->
170
245
  # Returns the complex conjugate.
171
246
  #
172
247
  # Complex(1, 2).conjugate #=> (1-2i)
173
248
  #
174
249
  def conj: () -> Complex
175
250
 
251
+ # <!--
252
+ # rdoc-file=complex.c
253
+ # - cmp.conj -> complex
254
+ # - cmp.conjugate -> complex
255
+ # -->
176
256
  # Returns the complex conjugate.
177
257
  #
178
258
  # Complex(1, 2).conjugate #=> (1-2i)
179
259
  #
180
260
  def conjugate: () -> Complex
181
261
 
262
+ # <!--
263
+ # rdoc-file=complex.c
264
+ # - cmp.denominator -> integer
265
+ # -->
182
266
  # Returns the denominator (lcm of both denominator - real and imag).
183
267
  #
184
268
  # See numerator.
@@ -193,12 +277,20 @@ class Complex < Numeric
193
277
 
194
278
  def eql?: (untyped) -> bool
195
279
 
280
+ # <!--
281
+ # rdoc-file=complex.c
282
+ # - cmp.fdiv(numeric) -> complex
283
+ # -->
196
284
  # Performs division as each part is a float, never returns a float.
197
285
  #
198
286
  # Complex(11, 22).fdiv(3) #=> (3.6666666666666665+7.333333333333333i)
199
287
  #
200
288
  def fdiv: (Numeric) -> Complex
201
289
 
290
+ # <!--
291
+ # rdoc-file=complex.c
292
+ # - cmp.finite? -> true or false
293
+ # -->
202
294
  # Returns `true` if `cmp`'s real and imaginary parts are both finite numbers,
203
295
  # otherwise returns `false`.
204
296
  #
@@ -206,10 +298,16 @@ class Complex < Numeric
206
298
 
207
299
  def floor: (?Integer) -> bot
208
300
 
301
+ # <!--
302
+ # rdoc-file=complex.c
303
+ # - hash()
304
+ # -->
305
+ #
209
306
  def hash: () -> Integer
210
307
 
211
308
  def i: () -> bot
212
309
 
310
+ # <!-- rdoc-file=complex.c -->
213
311
  # Returns the imaginary part.
214
312
  #
215
313
  # Complex(7).imaginary #=> 0
@@ -217,6 +315,11 @@ class Complex < Numeric
217
315
  #
218
316
  def imag: () -> Numeric
219
317
 
318
+ # <!--
319
+ # rdoc-file=complex.c
320
+ # - cmp.imag -> real
321
+ # - cmp.imaginary -> real
322
+ # -->
220
323
  # Returns the imaginary part.
221
324
  #
222
325
  # Complex(7).imaginary #=> 0
@@ -224,6 +327,10 @@ class Complex < Numeric
224
327
  #
225
328
  def imaginary: () -> Numeric
226
329
 
330
+ # <!--
331
+ # rdoc-file=complex.c
332
+ # - cmp.infinite? -> nil or 1
333
+ # -->
227
334
  # Returns `1` if `cmp`'s real or imaginary part is an infinite number, otherwise
228
335
  # returns `nil`.
229
336
  #
@@ -234,6 +341,10 @@ class Complex < Numeric
234
341
  #
235
342
  def infinite?: () -> Integer?
236
343
 
344
+ # <!--
345
+ # rdoc-file=complex.c
346
+ # - cmp.inspect -> string
347
+ # -->
237
348
  # Returns the value as a string for inspection.
238
349
  #
239
350
  # Complex(2).inspect #=> "(2+0i)"
@@ -246,6 +357,7 @@ class Complex < Numeric
246
357
 
247
358
  def integer?: () -> bool
248
359
 
360
+ # <!-- rdoc-file=complex.c -->
249
361
  # Returns the absolute part of its polar form.
250
362
  #
251
363
  # Complex(-1).abs #=> 1
@@ -259,6 +371,10 @@ class Complex < Numeric
259
371
 
260
372
  def nonzero?: () -> self?
261
373
 
374
+ # <!--
375
+ # rdoc-file=complex.c
376
+ # - cmp.numerator -> numeric
377
+ # -->
262
378
  # Returns the numerator.
263
379
  #
264
380
  # 1 2 3+4i <- numerator
@@ -276,20 +392,30 @@ class Complex < Numeric
276
392
  #
277
393
  def numerator: () -> Complex
278
394
 
395
+ # <!-- rdoc-file=complex.c -->
279
396
  # Returns the angle part of its polar form.
280
397
  #
281
398
  # Complex.polar(3, Math::PI/2).arg #=> 1.5707963267948966
282
399
  #
283
400
  alias phase angle
284
401
 
402
+ # <!--
403
+ # rdoc-file=complex.c
404
+ # - cmp.polar -> array
405
+ # -->
285
406
  # Returns an array; [cmp.abs, cmp.arg].
286
407
  #
287
408
  # Complex(1, 2).polar #=> [2.23606797749979, 1.1071487177940904]
288
409
  #
289
- def polar: () -> [Numeric, Float]
410
+ def polar: () -> [ Numeric, Float ]
290
411
 
291
412
  def positive?: () -> bot
292
413
 
414
+ # <!--
415
+ # rdoc-file=complex.c
416
+ # - cmp / numeric -> complex
417
+ # - cmp.quo(numeric) -> complex
418
+ # -->
293
419
  # Performs division.
294
420
  #
295
421
  # Complex(2, 3) / Complex(2, 3) #=> ((1/1)+(0/1)*i)
@@ -300,6 +426,10 @@ class Complex < Numeric
300
426
  #
301
427
  def quo: (Numeric) -> Complex
302
428
 
429
+ # <!--
430
+ # rdoc-file=complex.c
431
+ # - cmp.rationalize([eps]) -> rational
432
+ # -->
303
433
  # Returns the value as a rational if possible (the imaginary part should be
304
434
  # exactly zero).
305
435
  #
@@ -311,6 +441,10 @@ class Complex < Numeric
311
441
  #
312
442
  def rationalize: (?Numeric eps) -> Rational
313
443
 
444
+ # <!--
445
+ # rdoc-file=complex.c
446
+ # - cmp.real -> real
447
+ # -->
314
448
  # Returns the real part.
315
449
  #
316
450
  # Complex(7).real #=> 7
@@ -318,16 +452,27 @@ class Complex < Numeric
318
452
  #
319
453
  def real: () -> Numeric
320
454
 
455
+ # <!--
456
+ # rdoc-file=complex.c
457
+ # - Complex(1).real? -> false
458
+ # - Complex(1, 2).real? -> false
459
+ # -->
321
460
  # Returns false, even if the complex number has no imaginary part.
322
461
  #
323
462
  def real?: () -> false
324
463
 
325
- # Returns an array; [cmp.real, cmp.imag].
464
+ # <!-- rdoc-file=complex.c -->
465
+ # Returns a complex object which denotes the given rectangular form.
326
466
  #
327
- # Complex(1, 2).rectangular #=> [1, 2]
467
+ # Complex.rectangular(1, 2) #=> (1+2i)
328
468
  #
329
- def rect: () -> [Numeric, Numeric]
469
+ def rect: () -> [ Numeric, Numeric ]
330
470
 
471
+ # <!--
472
+ # rdoc-file=complex.c
473
+ # - cmp.rect -> array
474
+ # - cmp.rectangular -> array
475
+ # -->
331
476
  # Returns an array; [cmp.real, cmp.imag].
332
477
  #
333
478
  # Complex(1, 2).rectangular #=> [1, 2]
@@ -340,6 +485,10 @@ class Complex < Numeric
340
485
 
341
486
  def step: (*untyped) ?{ (*untyped) -> untyped } -> bot
342
487
 
488
+ # <!--
489
+ # rdoc-file=complex.c
490
+ # - complex.to_c -> self
491
+ # -->
343
492
  # Returns self.
344
493
  #
345
494
  # Complex(2).to_c #=> (2+0i)
@@ -347,6 +496,10 @@ class Complex < Numeric
347
496
  #
348
497
  def to_c: () -> Complex
349
498
 
499
+ # <!--
500
+ # rdoc-file=complex.c
501
+ # - cmp.to_f -> float
502
+ # -->
350
503
  # Returns the value as a float if possible (the imaginary part should be exactly
351
504
  # zero).
352
505
  #
@@ -356,6 +509,10 @@ class Complex < Numeric
356
509
  #
357
510
  def to_f: () -> Float
358
511
 
512
+ # <!--
513
+ # rdoc-file=complex.c
514
+ # - cmp.to_i -> integer
515
+ # -->
359
516
  # Returns the value as an integer if possible (the imaginary part should be
360
517
  # exactly zero).
361
518
  #
@@ -367,6 +524,10 @@ class Complex < Numeric
367
524
 
368
525
  alias to_int to_i
369
526
 
527
+ # <!--
528
+ # rdoc-file=complex.c
529
+ # - cmp.to_r -> rational
530
+ # -->
370
531
  # Returns the value as a rational if possible (the imaginary part should be
371
532
  # exactly zero).
372
533
  #
@@ -378,6 +539,10 @@ class Complex < Numeric
378
539
  #
379
540
  def to_r: () -> Rational
380
541
 
542
+ # <!--
543
+ # rdoc-file=complex.c
544
+ # - cmp.to_s -> string
545
+ # -->
381
546
  # Returns the value as a string.
382
547
  #
383
548
  # Complex(2).to_s #=> "2+0i"
@@ -393,6 +558,7 @@ class Complex < Numeric
393
558
  def zero?: () -> bool
394
559
  end
395
560
 
561
+ # <!-- rdoc-file=complex.c -->
396
562
  # The imaginary unit.
397
563
  #
398
564
  Complex::I: Complex
data/core/constants.rbs CHANGED
@@ -1,5 +1,16 @@
1
+ # <!-- rdoc-file=io.c -->
2
+ # ARGF is a stream designed for use in scripts that process files given as
3
+ # command-line arguments or passed in via STDIN.
4
+ #
5
+ # See ARGF (the class) for more details.
6
+ #
1
7
  ::ARGF: Object
2
8
 
9
+ # <!-- rdoc-file=ruby.c -->
10
+ # ARGV contains the command line arguments used to run ruby.
11
+ #
12
+ # A library like OptionParser can be used to process command-line arguments.
13
+ #
3
14
  ::ARGV: Array[String]
4
15
 
5
16
  ::CROSS_COMPILING: NilClass
@@ -8,30 +19,70 @@
8
19
 
9
20
  ::NIL: NilClass
10
21
 
22
+ # <!-- rdoc-file=version.c -->
23
+ # The copyright string for ruby
24
+ #
11
25
  ::RUBY_COPYRIGHT: String
12
26
 
27
+ # <!-- rdoc-file=version.c -->
28
+ # The full ruby version string, like `ruby -v` prints
29
+ #
13
30
  ::RUBY_DESCRIPTION: String
14
31
 
32
+ # <!-- rdoc-file=version.c -->
33
+ # The engine or interpreter this ruby uses.
34
+ #
15
35
  ::RUBY_ENGINE: String
16
36
 
37
+ # <!-- rdoc-file=version.c -->
38
+ # The version of the engine or interpreter this ruby uses.
39
+ #
17
40
  ::RUBY_ENGINE_VERSION: String
18
41
 
42
+ # <!-- rdoc-file=version.c -->
43
+ # The patchlevel for this ruby. If this is a development build of ruby the
44
+ # patchlevel will be -1
45
+ #
19
46
  ::RUBY_PATCHLEVEL: Integer
20
47
 
48
+ # <!-- rdoc-file=version.c -->
49
+ # The platform for this ruby
50
+ #
21
51
  ::RUBY_PLATFORM: String
22
52
 
53
+ # <!-- rdoc-file=version.c -->
54
+ # The date this ruby was released
55
+ #
23
56
  ::RUBY_RELEASE_DATE: String
24
57
 
58
+ # <!-- rdoc-file=version.c -->
59
+ # The GIT commit hash for this ruby.
60
+ #
25
61
  ::RUBY_REVISION: Integer
26
62
 
63
+ # <!-- rdoc-file=version.c -->
64
+ # The running version of ruby
65
+ #
27
66
  ::RUBY_VERSION: String
28
67
 
68
+ # <!-- rdoc-file=io.c -->
69
+ # Holds the original stderr
70
+ #
29
71
  ::STDERR: IO
30
72
 
73
+ # <!-- rdoc-file=io.c -->
74
+ # Holds the original stdin
75
+ #
31
76
  ::STDIN: IO
32
77
 
78
+ # <!-- rdoc-file=io.c -->
79
+ # Holds the original stdout
80
+ #
33
81
  ::STDOUT: IO
34
82
 
83
+ # <!-- rdoc-file=vm.c -->
84
+ # The Binding of the top level scope
85
+ #
35
86
  ::TOPLEVEL_BINDING: Binding
36
87
 
37
88
  ::TRUE: TrueClass
data/core/deprecated.rbs CHANGED
@@ -1,2 +1,9 @@
1
+ # <!-- rdoc-file=numeric.c -->
2
+ # An obsolete class, use Integer
3
+ #
1
4
  Fixnum: singleton(Integer)
5
+
6
+ # <!-- rdoc-file=bignum.c -->
7
+ # An obsolete class, use Integer
8
+ #
2
9
  Bignum: singleton(Integer)