rbs 3.0.0.dev.2 → 3.0.0.dev.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -1
  3. data/.github/workflows/ruby.yml +4 -0
  4. data/Gemfile.lock +11 -11
  5. data/Rakefile +2 -2
  6. data/Steepfile +1 -1
  7. data/core/array.rbs +573 -423
  8. data/core/basic_object.rbs +11 -39
  9. data/core/binding.rbs +1 -1
  10. data/core/builtin.rbs +8 -0
  11. data/core/class.rbs +37 -0
  12. data/core/comparable.rbs +7 -18
  13. data/core/complex.rbs +2 -2
  14. data/core/data.rbs +419 -0
  15. data/core/dir.rbs +52 -104
  16. data/core/encoding.rbs +22 -181
  17. data/core/enumerable.rbs +212 -175
  18. data/core/enumerator/product.rbs +96 -0
  19. data/core/enumerator.rbs +57 -8
  20. data/core/errors.rbs +8 -2
  21. data/core/exception.rbs +41 -0
  22. data/core/fiber.rbs +95 -12
  23. data/core/file.rbs +840 -275
  24. data/core/file_test.rbs +34 -19
  25. data/core/float.rbs +40 -96
  26. data/core/gc.rbs +15 -3
  27. data/core/hash.rbs +113 -175
  28. data/core/integer.rbs +85 -145
  29. data/core/io/buffer.rbs +187 -60
  30. data/core/io/wait.rbs +28 -16
  31. data/core/io.rbs +1859 -1389
  32. data/core/kernel.rbs +525 -961
  33. data/core/match_data.rbs +306 -142
  34. data/core/math.rbs +506 -234
  35. data/core/method.rbs +0 -24
  36. data/core/module.rbs +110 -17
  37. data/core/nil_class.rbs +2 -0
  38. data/core/numeric.rbs +76 -144
  39. data/core/object.rbs +88 -212
  40. data/core/proc.rbs +17 -5
  41. data/core/process.rbs +22 -5
  42. data/core/ractor.rbs +1 -1
  43. data/core/random.rbs +20 -3
  44. data/core/range.rbs +91 -89
  45. data/core/rational.rbs +2 -3
  46. data/core/rbs/unnamed/argf.rbs +177 -120
  47. data/core/rbs/unnamed/env_class.rbs +89 -163
  48. data/core/rbs/unnamed/random.rbs +36 -12
  49. data/core/refinement.rbs +8 -0
  50. data/core/regexp.rbs +462 -272
  51. data/core/ruby_vm.rbs +210 -0
  52. data/{stdlib/set/0 → core}/set.rbs +43 -47
  53. data/core/string.rbs +1403 -1332
  54. data/core/string_io.rbs +191 -107
  55. data/core/struct.rbs +67 -63
  56. data/core/symbol.rbs +187 -201
  57. data/core/thread.rbs +40 -35
  58. data/core/time.rbs +902 -826
  59. data/core/trace_point.rbs +55 -6
  60. data/core/unbound_method.rbs +48 -24
  61. data/docs/collection.md +4 -0
  62. data/docs/syntax.md +55 -0
  63. data/ext/rbs_extension/parser.c +5 -6
  64. data/lib/rbs/cli.rb +6 -1
  65. data/lib/rbs/collection/cleaner.rb +8 -1
  66. data/lib/rbs/collection/config/lockfile.rb +3 -1
  67. data/lib/rbs/collection/config/lockfile_generator.rb +16 -14
  68. data/lib/rbs/collection/config.rb +1 -1
  69. data/lib/rbs/collection/sources/git.rb +9 -2
  70. data/lib/rbs/collection/sources/local.rb +79 -0
  71. data/lib/rbs/collection/sources.rb +8 -1
  72. data/lib/rbs/environment.rb +6 -5
  73. data/lib/rbs/environment_loader.rb +3 -2
  74. data/lib/rbs/errors.rb +18 -0
  75. data/lib/rbs/locator.rb +26 -7
  76. data/lib/rbs/sorter.rb +2 -2
  77. data/lib/rbs/version.rb +1 -1
  78. data/sig/collection/sources.rbs +32 -3
  79. data/sig/environment.rbs +2 -3
  80. data/sig/locator.rbs +14 -2
  81. data/sig/shims/{abstract_syntax_tree.rbs → _abstract_syntax_tree.rbs} +0 -0
  82. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -13
  83. data/stdlib/cgi/0/core.rbs +16 -0
  84. data/stdlib/coverage/0/coverage.rbs +50 -8
  85. data/stdlib/csv/0/csv.rbs +1 -1
  86. data/stdlib/date/0/date.rbs +856 -726
  87. data/stdlib/date/0/date_time.rbs +83 -210
  88. data/stdlib/erb/0/erb.rbs +13 -36
  89. data/stdlib/etc/0/etc.rbs +127 -20
  90. data/stdlib/fileutils/0/fileutils.rbs +1290 -381
  91. data/stdlib/logger/0/logger.rbs +466 -316
  92. data/stdlib/net-http/0/net-http.rbs +2211 -534
  93. data/stdlib/nkf/0/nkf.rbs +5 -5
  94. data/stdlib/objspace/0/objspace.rbs +31 -14
  95. data/stdlib/openssl/0/openssl.rbs +11 -7
  96. data/stdlib/optparse/0/optparse.rbs +20 -17
  97. data/stdlib/pathname/0/pathname.rbs +21 -4
  98. data/stdlib/pstore/0/pstore.rbs +378 -154
  99. data/stdlib/pty/0/pty.rbs +24 -8
  100. data/stdlib/ripper/0/ripper.rbs +1650 -0
  101. data/stdlib/socket/0/addrinfo.rbs +9 -15
  102. data/stdlib/socket/0/socket.rbs +36 -3
  103. data/stdlib/strscan/0/string_scanner.rbs +7 -5
  104. data/stdlib/tempfile/0/tempfile.rbs +104 -44
  105. data/stdlib/time/0/time.rbs +2 -2
  106. data/stdlib/uri/0/file.rbs +5 -0
  107. data/stdlib/uri/0/generic.rbs +2 -2
  108. data/stdlib/yaml/0/yaml.rbs +2 -2
  109. data/stdlib/zlib/0/zlib.rbs +1 -1
  110. metadata +8 -6
  111. data/core/deprecated.rbs +0 -9
  112. data/sig/shims/ripper.rbs +0 -8
data/core/thread.rbs CHANGED
@@ -817,6 +817,15 @@ class Thread < Object
817
817
  #
818
818
  def self.abort_on_exception=: (untyped abort_on_exception) -> untyped
819
819
 
820
+ # <!--
821
+ # rdoc-file=vm_backtrace.c
822
+ # - Thread.each_caller_location{ |loc| ... } -> nil
823
+ # -->
824
+ # Yields each frame of the current execution stack as a backtrace location
825
+ # object.
826
+ #
827
+ def self.each_caller_location: () { (Backtrace::Location) -> void } -> nil
828
+
820
829
  # Wraps the block in a single, VM-global
821
830
  # [Mutex\#synchronize](https://ruby-doc.org/core-2.6.3/Mutex.html#method-i-synchronize)
822
831
  # , returning the value of the block. A thread executing inside the
@@ -1173,10 +1182,10 @@ end
1173
1182
  class Thread::Backtrace < Object
1174
1183
  # <!--
1175
1184
  # rdoc-file=vm_backtrace.c
1176
- # - Threade::Backtrace::limit -> integer
1185
+ # - Thread::Backtrace::limit -> integer
1177
1186
  # -->
1178
1187
  # Returns maximum backtrace length set by `--backtrace-limit` command-line
1179
- # option. The defalt is `-1` which means unlimited backtraces. If the value is
1188
+ # option. The default is `-1` which means unlimited backtraces. If the value is
1180
1189
  # zero or positive, the error backtraces, produced by Exception#full_message,
1181
1190
  # are abbreviated and the extra lines are replaced by `... 3 levels... `
1182
1191
  #
@@ -1570,12 +1579,10 @@ class Thread::Queue < Object
1570
1579
  #
1571
1580
  def closed?: () -> bool
1572
1581
 
1573
- # <!-- rdoc-file=thread_sync.c -->
1574
- # Retrieves data from the queue.
1575
- #
1576
- # If the queue is empty, the calling thread is suspended until data is pushed
1577
- # onto the queue. If `non_block` is true, the thread isn't suspended, and
1578
- # `ThreadError` is raised.
1582
+ # <!--
1583
+ # rdoc-file=thread_sync.rb
1584
+ # - deq(non_block = false, timeout: nil)
1585
+ # -->
1579
1586
  #
1580
1587
  alias deq pop
1581
1588
 
@@ -1610,10 +1617,8 @@ class Thread::Queue < Object
1610
1617
  def num_waiting: () -> Integer
1611
1618
 
1612
1619
  # <!--
1613
- # rdoc-file=thread_sync.c
1614
- # - pop(non_block=false)
1615
- # - deq(non_block=false)
1616
- # - shift(non_block=false)
1620
+ # rdoc-file=thread_sync.rb
1621
+ # - pop(non_block=false, timeout: nil)
1617
1622
  # -->
1618
1623
  # Retrieves data from the queue.
1619
1624
  #
@@ -1621,7 +1626,10 @@ class Thread::Queue < Object
1621
1626
  # onto the queue. If `non_block` is true, the thread isn't suspended, and
1622
1627
  # `ThreadError` is raised.
1623
1628
  #
1624
- def pop: (?boolish non_block) -> untyped
1629
+ # If `timeout` seconds have passed and no data is available `nil` is returned.
1630
+ # If `timeout` is `0` it returns immediately.
1631
+ #
1632
+ def pop: (?boolish non_block, ?timeout: _ToF?) -> untyped
1625
1633
 
1626
1634
  # <!--
1627
1635
  # rdoc-file=thread_sync.c
@@ -1633,12 +1641,10 @@ class Thread::Queue < Object
1633
1641
  #
1634
1642
  def push: (untyped obj) -> void
1635
1643
 
1636
- # <!-- rdoc-file=thread_sync.c -->
1637
- # Retrieves data from the queue.
1638
- #
1639
- # If the queue is empty, the calling thread is suspended until data is pushed
1640
- # onto the queue. If `non_block` is true, the thread isn't suspended, and
1641
- # `ThreadError` is raised.
1644
+ # <!--
1645
+ # rdoc-file=thread_sync.rb
1646
+ # - shift(non_block = false, timeout: nil)
1647
+ # -->
1642
1648
  #
1643
1649
  alias shift pop
1644
1650
 
@@ -1655,21 +1661,17 @@ end
1655
1661
  # See Thread::Queue for an example of how a Thread::SizedQueue works.
1656
1662
  #
1657
1663
  class Thread::SizedQueue < Thread::Queue
1658
- # <!-- rdoc-file=thread_sync.c -->
1659
- # Pushes `object` to the queue.
1660
- #
1661
- # If there is no space left in the queue, waits until space becomes available,
1662
- # unless `non_block` is true. If `non_block` is true, the thread isn't
1663
- # suspended, and `ThreadError` is raised.
1664
+ # <!--
1665
+ # rdoc-file=thread_sync.rb
1666
+ # - <<(object, non_block = false, timeout: nil)
1667
+ # -->
1664
1668
  #
1665
1669
  alias << push
1666
1670
 
1667
- # <!-- rdoc-file=thread_sync.c -->
1668
- # Pushes `object` to the queue.
1669
- #
1670
- # If there is no space left in the queue, waits until space becomes available,
1671
- # unless `non_block` is true. If `non_block` is true, the thread isn't
1672
- # suspended, and `ThreadError` is raised.
1671
+ # <!--
1672
+ # rdoc-file=thread_sync.rb
1673
+ # - enq(object, non_block = false, timeout: nil)
1674
+ # -->
1673
1675
  #
1674
1676
  alias enq push
1675
1677
 
@@ -1698,9 +1700,9 @@ class Thread::SizedQueue < Thread::Queue
1698
1700
  def max=: (Integer max) -> void
1699
1701
 
1700
1702
  # <!--
1701
- # rdoc-file=thread_sync.c
1702
- # - push(object, non_block=false)
1703
- # - enq(object, non_block=false)
1703
+ # rdoc-file=thread_sync.rb
1704
+ # - push(object, non_block=false, timeout: nil)
1705
+ # - enq(object, non_block=false, timeout: nil)
1704
1706
  # - <<(object)
1705
1707
  # -->
1706
1708
  # Pushes `object` to the queue.
@@ -1709,7 +1711,10 @@ class Thread::SizedQueue < Thread::Queue
1709
1711
  # unless `non_block` is true. If `non_block` is true, the thread isn't
1710
1712
  # suspended, and `ThreadError` is raised.
1711
1713
  #
1712
- def push: (untyped obj, ?boolish non_block) -> void
1714
+ # If `timeout` seconds have passed and no space is available `nil` is returned.
1715
+ # If `timeout` is `0` it returns immediately. Otherwise it returns `self`.
1716
+ #
1717
+ def push: (untyped obj, ?boolish non_block, timeout: _ToF?) -> void
1713
1718
  end
1714
1719
 
1715
1720
  ConditionVariable: singleton(Thread::ConditionVariable)