steep 0.14.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/exe/rbs +1 -1
  4. data/lib/steep/annotation_parser.rb +4 -4
  5. data/lib/steep/ast/buffer.rb +11 -7
  6. data/lib/steep/ast/builtin.rb +8 -0
  7. data/lib/steep/ast/types/factory.rb +55 -55
  8. data/lib/steep/drivers/check.rb +20 -4
  9. data/lib/steep/drivers/langserver.rb +6 -1
  10. data/lib/steep/drivers/vendor.rb +2 -2
  11. data/lib/steep/project/completion_provider.rb +5 -11
  12. data/lib/steep/project/dsl.rb +14 -0
  13. data/lib/steep/project/file.rb +42 -46
  14. data/lib/steep/project/hover_content.rb +11 -5
  15. data/lib/steep/project/options.rb +25 -3
  16. data/lib/steep/project/target.rb +10 -4
  17. data/lib/steep/signature/errors.rb +1 -1
  18. data/lib/steep/signature/validator.rb +8 -8
  19. data/lib/steep/source.rb +1 -1
  20. data/lib/steep/type_construction.rb +987 -711
  21. data/lib/steep/type_inference/constant_env.rb +1 -1
  22. data/lib/steep/type_inference/context.rb +7 -3
  23. data/lib/steep/type_inference/context_array.rb +111 -0
  24. data/lib/steep/type_inference/local_variable_type_env.rb +226 -0
  25. data/lib/steep/type_inference/logic.rb +130 -0
  26. data/lib/steep/type_inference/type_env.rb +5 -69
  27. data/lib/steep/typing.rb +79 -22
  28. data/lib/steep/version.rb +1 -1
  29. data/lib/steep.rb +6 -1
  30. data/smoke/alias/Steepfile +1 -0
  31. data/smoke/and/Steepfile +1 -0
  32. data/smoke/array/Steepfile +1 -0
  33. data/smoke/array/b.rb +0 -2
  34. data/smoke/block/Steepfile +1 -0
  35. data/smoke/case/Steepfile +1 -0
  36. data/smoke/class/Steepfile +1 -0
  37. data/smoke/const/Steepfile +1 -0
  38. data/smoke/dstr/Steepfile +1 -0
  39. data/smoke/ensure/Steepfile +1 -0
  40. data/smoke/enumerator/Steepfile +1 -0
  41. data/smoke/extension/Steepfile +1 -0
  42. data/smoke/extension/c.rb +1 -0
  43. data/smoke/hash/Steepfile +1 -0
  44. data/smoke/hello/Steepfile +1 -0
  45. data/smoke/if/Steepfile +1 -0
  46. data/smoke/if/a.rb +1 -1
  47. data/smoke/implements/Steepfile +1 -0
  48. data/smoke/initialize/Steepfile +1 -0
  49. data/smoke/integer/Steepfile +1 -0
  50. data/smoke/interface/Steepfile +1 -0
  51. data/smoke/kwbegin/Steepfile +1 -0
  52. data/smoke/lambda/Steepfile +1 -0
  53. data/smoke/literal/Steepfile +1 -0
  54. data/smoke/map/Steepfile +1 -0
  55. data/smoke/method/Steepfile +1 -0
  56. data/smoke/module/Steepfile +1 -0
  57. data/smoke/regexp/Steepfile +1 -0
  58. data/smoke/regression/Steepfile +1 -0
  59. data/smoke/rescue/Steepfile +1 -0
  60. data/smoke/rescue/a.rb +1 -1
  61. data/smoke/self/Steepfile +1 -0
  62. data/smoke/skip/Steepfile +1 -0
  63. data/smoke/stdout/Steepfile +1 -0
  64. data/smoke/super/Steepfile +1 -0
  65. data/smoke/type_case/Steepfile +1 -0
  66. data/smoke/yield/Steepfile +1 -0
  67. data/steep.gemspec +1 -1
  68. data/vendor/ruby-signature/.gitignore +2 -2
  69. data/vendor/ruby-signature/README.md +2 -2
  70. data/vendor/ruby-signature/Rakefile +2 -2
  71. data/vendor/ruby-signature/bin/annotate-with-rdoc +14 -13
  72. data/vendor/ruby-signature/bin/console +1 -1
  73. data/vendor/ruby-signature/bin/sort +7 -6
  74. data/vendor/ruby-signature/bin/test_runner.rb +0 -1
  75. data/vendor/ruby-signature/docs/CONTRIBUTING.md +1 -1
  76. data/vendor/ruby-signature/docs/sigs.md +3 -3
  77. data/vendor/ruby-signature/docs/stdlib.md +1 -1
  78. data/vendor/ruby-signature/docs/syntax.md +9 -9
  79. data/vendor/ruby-signature/exe/rbs +5 -1
  80. data/vendor/ruby-signature/lib/rbs/ast/annotation.rb +27 -0
  81. data/vendor/ruby-signature/lib/rbs/ast/comment.rb +27 -0
  82. data/vendor/ruby-signature/lib/rbs/ast/declarations.rb +395 -0
  83. data/vendor/ruby-signature/lib/rbs/ast/members.rb +362 -0
  84. data/vendor/ruby-signature/lib/rbs/buffer.rb +50 -0
  85. data/vendor/ruby-signature/lib/rbs/builtin_names.rb +55 -0
  86. data/vendor/ruby-signature/lib/rbs/cli.rb +558 -0
  87. data/vendor/ruby-signature/lib/rbs/constant.rb +26 -0
  88. data/vendor/ruby-signature/lib/rbs/constant_table.rb +150 -0
  89. data/vendor/ruby-signature/lib/rbs/definition.rb +170 -0
  90. data/vendor/ruby-signature/lib/rbs/definition_builder.rb +919 -0
  91. data/vendor/ruby-signature/lib/rbs/environment.rb +281 -0
  92. data/vendor/ruby-signature/lib/rbs/environment_loader.rb +136 -0
  93. data/vendor/ruby-signature/lib/rbs/environment_walker.rb +124 -0
  94. data/vendor/ruby-signature/lib/rbs/errors.rb +187 -0
  95. data/vendor/ruby-signature/lib/rbs/location.rb +102 -0
  96. data/vendor/ruby-signature/lib/rbs/method_type.rb +123 -0
  97. data/vendor/ruby-signature/lib/rbs/namespace.rb +91 -0
  98. data/vendor/ruby-signature/lib/{ruby/signature → rbs}/parser.rb +21 -23
  99. data/vendor/ruby-signature/lib/{ruby/signature → rbs}/parser.y +18 -18
  100. data/vendor/ruby-signature/lib/rbs/prototype/rb.rb +553 -0
  101. data/vendor/ruby-signature/lib/rbs/prototype/rbi.rb +587 -0
  102. data/vendor/ruby-signature/lib/rbs/prototype/runtime.rb +381 -0
  103. data/vendor/ruby-signature/lib/rbs/substitution.rb +46 -0
  104. data/vendor/ruby-signature/lib/rbs/test/errors.rb +61 -0
  105. data/vendor/ruby-signature/lib/rbs/test/hook.rb +294 -0
  106. data/vendor/ruby-signature/lib/{ruby/signature → rbs}/test/setup.rb +7 -7
  107. data/vendor/ruby-signature/lib/rbs/test/spy.rb +325 -0
  108. data/vendor/ruby-signature/lib/rbs/test/test_helper.rb +183 -0
  109. data/vendor/ruby-signature/lib/rbs/test/type_check.rb +254 -0
  110. data/vendor/ruby-signature/lib/rbs/test.rb +26 -0
  111. data/vendor/ruby-signature/lib/rbs/type_name.rb +70 -0
  112. data/vendor/ruby-signature/lib/rbs/types.rb +936 -0
  113. data/vendor/ruby-signature/lib/rbs/variance_calculator.rb +138 -0
  114. data/vendor/ruby-signature/lib/rbs/vendorer.rb +47 -0
  115. data/vendor/ruby-signature/lib/rbs/version.rb +3 -0
  116. data/vendor/ruby-signature/lib/rbs/writer.rb +269 -0
  117. data/vendor/ruby-signature/lib/rbs.rb +64 -0
  118. data/vendor/ruby-signature/lib/ruby/signature.rb +4 -61
  119. data/vendor/ruby-signature/{ruby-signature.gemspec → rbs.gemspec} +4 -4
  120. data/vendor/ruby-signature/stdlib/abbrev/abbrev.rbs +58 -1
  121. data/vendor/ruby-signature/stdlib/base64/base64.rbs +69 -13
  122. data/vendor/ruby-signature/stdlib/benchmark/benchmark.rbs +372 -0
  123. data/vendor/ruby-signature/stdlib/builtin/builtin.rbs +9 -0
  124. data/vendor/ruby-signature/stdlib/builtin/dir.rbs +1 -7
  125. data/vendor/ruby-signature/stdlib/builtin/encoding.rbs +2 -1
  126. data/vendor/ruby-signature/stdlib/builtin/exception.rbs +3 -2
  127. data/vendor/ruby-signature/stdlib/builtin/file.rbs +902 -302
  128. data/vendor/ruby-signature/stdlib/builtin/gc.rbs +190 -68
  129. data/vendor/ruby-signature/stdlib/builtin/integer.rbs +3 -6
  130. data/vendor/ruby-signature/stdlib/builtin/kernel.rbs +6 -4
  131. data/vendor/ruby-signature/stdlib/builtin/marshal.rbs +146 -120
  132. data/vendor/ruby-signature/stdlib/builtin/math.rbs +310 -7
  133. data/vendor/ruby-signature/stdlib/builtin/method.rbs +11 -8
  134. data/vendor/ruby-signature/stdlib/builtin/module.rbs +959 -103
  135. data/vendor/ruby-signature/stdlib/builtin/proc.rbs +3 -0
  136. data/vendor/ruby-signature/stdlib/builtin/process.rbs +981 -108
  137. data/vendor/ruby-signature/stdlib/builtin/random.rbs +215 -41
  138. data/vendor/ruby-signature/stdlib/builtin/rb_config.rbs +47 -0
  139. data/vendor/ruby-signature/stdlib/builtin/string.rbs +9 -2
  140. data/vendor/ruby-signature/stdlib/builtin/string_io.rbs +282 -11
  141. data/vendor/ruby-signature/stdlib/builtin/symbol.rbs +11 -13
  142. data/vendor/ruby-signature/stdlib/builtin/thread.rbs +25 -29
  143. data/vendor/ruby-signature/stdlib/builtin/thread_group.rbs +1 -1
  144. data/vendor/ruby-signature/stdlib/builtin/time.rbs +875 -567
  145. data/vendor/ruby-signature/stdlib/builtin/trace_point.rbs +243 -44
  146. data/vendor/ruby-signature/stdlib/builtin/unbound_method.rbs +103 -109
  147. data/vendor/ruby-signature/stdlib/coverage/coverage.rbs +62 -0
  148. data/vendor/ruby-signature/stdlib/csv/csv.rbs +773 -0
  149. data/vendor/ruby-signature/stdlib/erb/erb.rbs +375 -1
  150. data/vendor/ruby-signature/stdlib/find/find.rbs +0 -4
  151. data/vendor/ruby-signature/stdlib/ipaddr/ipaddr.rbs +247 -0
  152. data/vendor/ruby-signature/stdlib/pathname/pathname.rbs +1088 -16
  153. data/vendor/ruby-signature/stdlib/set/set.rbs +251 -27
  154. metadata +49 -44
  155. data/exe/ruby-signature +0 -3
  156. data/vendor/ruby-signature/exe/ruby-signature +0 -7
  157. data/vendor/ruby-signature/lib/ruby/signature/ast/annotation.rb +0 -29
  158. data/vendor/ruby-signature/lib/ruby/signature/ast/comment.rb +0 -29
  159. data/vendor/ruby-signature/lib/ruby/signature/ast/declarations.rb +0 -391
  160. data/vendor/ruby-signature/lib/ruby/signature/ast/members.rb +0 -364
  161. data/vendor/ruby-signature/lib/ruby/signature/buffer.rb +0 -52
  162. data/vendor/ruby-signature/lib/ruby/signature/builtin_names.rb +0 -54
  163. data/vendor/ruby-signature/lib/ruby/signature/cli.rb +0 -555
  164. data/vendor/ruby-signature/lib/ruby/signature/constant.rb +0 -28
  165. data/vendor/ruby-signature/lib/ruby/signature/constant_table.rb +0 -152
  166. data/vendor/ruby-signature/lib/ruby/signature/definition.rb +0 -172
  167. data/vendor/ruby-signature/lib/ruby/signature/definition_builder.rb +0 -921
  168. data/vendor/ruby-signature/lib/ruby/signature/environment.rb +0 -283
  169. data/vendor/ruby-signature/lib/ruby/signature/environment_loader.rb +0 -138
  170. data/vendor/ruby-signature/lib/ruby/signature/environment_walker.rb +0 -126
  171. data/vendor/ruby-signature/lib/ruby/signature/errors.rb +0 -189
  172. data/vendor/ruby-signature/lib/ruby/signature/location.rb +0 -104
  173. data/vendor/ruby-signature/lib/ruby/signature/method_type.rb +0 -125
  174. data/vendor/ruby-signature/lib/ruby/signature/namespace.rb +0 -93
  175. data/vendor/ruby-signature/lib/ruby/signature/prototype/rb.rb +0 -444
  176. data/vendor/ruby-signature/lib/ruby/signature/prototype/rbi.rb +0 -579
  177. data/vendor/ruby-signature/lib/ruby/signature/prototype/runtime.rb +0 -383
  178. data/vendor/ruby-signature/lib/ruby/signature/substitution.rb +0 -48
  179. data/vendor/ruby-signature/lib/ruby/signature/test/errors.rb +0 -63
  180. data/vendor/ruby-signature/lib/ruby/signature/test/hook.rb +0 -290
  181. data/vendor/ruby-signature/lib/ruby/signature/test/spy.rb +0 -327
  182. data/vendor/ruby-signature/lib/ruby/signature/test/test_helper.rb +0 -185
  183. data/vendor/ruby-signature/lib/ruby/signature/test/type_check.rb +0 -256
  184. data/vendor/ruby-signature/lib/ruby/signature/test.rb +0 -28
  185. data/vendor/ruby-signature/lib/ruby/signature/type_name.rb +0 -72
  186. data/vendor/ruby-signature/lib/ruby/signature/types.rb +0 -932
  187. data/vendor/ruby-signature/lib/ruby/signature/variance_calculator.rb +0 -140
  188. data/vendor/ruby-signature/lib/ruby/signature/vendorer.rb +0 -49
  189. data/vendor/ruby-signature/lib/ruby/signature/version.rb +0 -5
  190. data/vendor/ruby-signature/lib/ruby/signature/writer.rb +0 -271
@@ -47,8 +47,7 @@ class Symbol
47
47
  #
48
48
  # See String#<=> for more information.
49
49
  #
50
- def <=>: (Symbol other) -> Integer
51
- | (untyped other) -> Integer?
50
+ def <=>: (untyped other) -> Integer?
52
51
 
53
52
  # Equality---If *sym* and *obj* are exactly the same symbol, returns `true`.
54
53
  #
@@ -64,11 +63,11 @@ class Symbol
64
63
 
65
64
  # Returns `sym.to_s[]`.
66
65
  #
67
- def []: (Integer index) -> String?
68
- | (Integer start, Integer length) -> String?
66
+ def []: (int index) -> String?
67
+ | (int start, int length) -> String?
69
68
  | (Range[Integer?] range) -> String?
70
69
  | (Regexp regexp) -> String?
71
- | (Regexp regexp, Integer | String capture) -> String?
70
+ | (Regexp regexp, int | String capture) -> String?
72
71
  | (String match_str) -> String?
73
72
 
74
73
  # Same as `sym.to_s.capitalize.intern`.
@@ -93,8 +92,7 @@ class Symbol
93
92
  # :foo.casecmp(2) #=> nil
94
93
  # "\u{e4 f6 fc}".encode("ISO-8859-1").to_sym.casecmp(:"\u{c4 d6 dc}") #=> nil
95
94
  #
96
- def casecmp: (Symbol other) -> Integer?
97
- | (untyped other) -> Integer?
95
+ def casecmp: (untyped other) -> Integer?
98
96
 
99
97
  # Returns `true` if `sym` and `other_symbol` are equal after Unicode case
100
98
  # folding, `false` if they are not equal.
@@ -111,8 +109,7 @@ class Symbol
111
109
  # :foo.casecmp?(2) #=> nil
112
110
  # "\u{e4 f6 fc}".encode("ISO-8859-1").to_sym.casecmp?(:"\u{c4 d6 dc}") #=> nil
113
111
  #
114
- def casecmp?: (Symbol other) -> bool
115
- | (untyped other) -> bool
112
+ def casecmp?: (untyped other) -> bool
116
113
 
117
114
  # Same as `sym.to_s.downcase.intern`.
118
115
  #
@@ -137,7 +134,7 @@ class Symbol
137
134
  # :hello.end_with?("heaven", "ello") #=> true
138
135
  # :hello.end_with?("heaven", "paradise") #=> false
139
136
  #
140
- def end_with?: (String str, *String str) -> bool
137
+ def end_with?: (*string suffixes) -> bool
141
138
 
142
139
  # Returns the name or string corresponding to *sym*.
143
140
  #
@@ -163,11 +160,12 @@ class Symbol
163
160
 
164
161
  # Returns `sym.to_s.match`.
165
162
  #
166
- def match: (Regexp | String pattern, ?Integer pos) ?{ (MatchData) -> void } -> MatchData?
163
+ def match: (Regexp | string pattern, ?int pos) -> MatchData?
164
+ | (Regexp | string pattern, ?int pos) { (MatchData) -> void } -> untyped
167
165
 
168
166
  # Returns `sym.to_s.match?`.
169
167
  #
170
- def match?: (Regexp | String pattern, ?Integer pos) -> bool
168
+ def match?: (Regexp | string pattern, ?int pos) -> bool
171
169
 
172
170
  # Same as `sym.to_s.succ.intern`.
173
171
  #
@@ -190,7 +188,7 @@ class Symbol
190
188
  # # returns true if one of the prefixes matches.
191
189
  # :hello.start_with?("heaven", "hell") #=> true
192
190
  # :hello.start_with?("heaven", "paradise") #=> false
193
- def start_with?: (String str, *String str) -> bool
191
+ def start_with?: (*string prefixes) -> bool
194
192
 
195
193
  # Same as `sym.to_s.succ.intern`.
196
194
  #
@@ -888,19 +888,17 @@ end
888
888
  # ```
889
889
  class Thread::ConditionVariable < Object
890
890
  # Wakes up all threads waiting for this lock.
891
- def broadcast: () -> untyped
892
-
893
- def marshal_dump: () -> untyped
891
+ def broadcast: () -> self
894
892
 
895
893
  # Wakes up the first thread in line waiting for this lock.
896
- def signal: () -> untyped
894
+ def signal: () -> self
897
895
 
898
896
  # Releases the lock held in `mutex` and waits; reacquires the lock on
899
897
  # wakeup.
900
898
  #
901
899
  # If `timeout` is given, this method returns after `timeout` seconds
902
900
  # passed, even if no other thread doesn't signal.
903
- def wait: (*untyped _) -> untyped
901
+ def wait: (Mutex mutex, ?Integer timeout) -> self
904
902
  end
905
903
 
906
904
  # [Mutex](Mutex) implements a simple semaphore that
@@ -927,7 +925,7 @@ end
927
925
  class Thread::Mutex < Object
928
926
  # Attempts to grab the lock and waits if it isn’t available. Raises
929
927
  # `ThreadError` if `mutex` was locked by the current thread.
930
- def lock: () -> untyped
928
+ def lock: () -> self
931
929
 
932
930
  # Returns `true` if this lock is currently held by some thread.
933
931
  def locked?: () -> bool
@@ -937,7 +935,7 @@ class Thread::Mutex < Object
937
935
 
938
936
  # Obtains a lock, runs the block, and releases the lock when the block
939
937
  # completes. See the example under `Mutex` .
940
- def synchronize: () -> untyped
938
+ def synchronize: [X] () { () -> X } -> X
941
939
 
942
940
  # Attempts to obtain the lock and returns immediately. Returns `true` if
943
941
  # the lock was granted.
@@ -945,7 +943,7 @@ class Thread::Mutex < Object
945
943
 
946
944
  # Releases the lock. Raises `ThreadError` if `mutex` wasn’t locked by the
947
945
  # current thread.
948
- def unlock: () -> untyped
946
+ def unlock: () -> self
949
947
  end
950
948
 
951
949
  # The [Queue](Queue) class implements multi-producer,
@@ -982,10 +980,10 @@ end
982
980
  # ```
983
981
  class Thread::Queue < Object
984
982
  # Alias for: [push](Queue.downloaded.ruby_doc#method-i-push)
985
- def <<: (untyped obj) -> untyped
983
+ alias << push
986
984
 
987
985
  # Removes all objects from the queue.
988
- def clear: () -> untyped
986
+ def clear: () -> void
989
987
 
990
988
  # Closes the queue. A closed queue cannot be re-opened.
991
989
  #
@@ -1017,19 +1015,19 @@ class Thread::Queue < Object
1017
1015
  # end
1018
1016
  # }
1019
1017
  # q.close
1020
- def close: () -> untyped
1018
+ def close: () -> self
1021
1019
 
1022
1020
  # Returns `true` if the queue is closed.
1023
1021
  def closed?: () -> bool
1024
1022
 
1025
1023
  # Alias for: [pop](Queue.downloaded.ruby_doc#method-i-pop)
1026
- def deq: (*untyped args) -> untyped
1024
+ alias deq pop
1027
1025
 
1028
1026
  # Returns `true` if the queue is empty.
1029
1027
  def empty?: () -> bool
1030
1028
 
1031
1029
  # Alias for: [push](Queue.downloaded.ruby_doc#method-i-push)
1032
- def enq: (untyped obj) -> untyped
1030
+ alias enq push
1033
1031
 
1034
1032
  # Returns the length of the queue.
1035
1033
  #
@@ -1038,10 +1036,8 @@ class Thread::Queue < Object
1038
1036
  # Also aliased as: [size](Queue.downloaded.ruby_doc#method-i-size)
1039
1037
  def length: () -> Integer
1040
1038
 
1041
- def marshal_dump: () -> untyped
1042
-
1043
1039
  # Returns the number of threads waiting on the queue.
1044
- def num_waiting: () -> untyped
1040
+ def num_waiting: () -> Integer
1045
1041
 
1046
1042
  # Retrieves data from the queue.
1047
1043
  #
@@ -1053,7 +1049,7 @@ class Thread::Queue < Object
1053
1049
  #
1054
1050
  # Also aliased as: [deq](Queue.downloaded.ruby_doc#method-i-deq),
1055
1051
  # [shift](Queue.downloaded.ruby_doc#method-i-shift)
1056
- def pop: (*untyped args) -> untyped
1052
+ def pop: (?bool non_block) -> untyped
1057
1053
 
1058
1054
  # Pushes the given `object` to the queue.
1059
1055
  #
@@ -1061,13 +1057,13 @@ class Thread::Queue < Object
1061
1057
  #
1062
1058
  # Also aliased as: [enq](Queue.downloaded.ruby_doc#method-i-enq),
1063
1059
  # [\<\<](Queue.downloaded.ruby_doc#method-i-3C-3C)
1064
- def push: (untyped obj) -> untyped
1060
+ def push: (untyped obj) -> void
1065
1061
 
1066
1062
  # Alias for: [pop](Queue.downloaded.ruby_doc#method-i-pop)
1067
- def shift: (*untyped args) -> untyped
1063
+ alias shift pop
1068
1064
 
1069
1065
  # Alias for: [length](Queue.downloaded.ruby_doc#method-i-length)
1070
- def size: () -> Integer
1066
+ alias size length
1071
1067
  end
1072
1068
 
1073
1069
  # This class represents queues of specified size capacity. The push
@@ -1077,18 +1073,18 @@ end
1077
1073
  # of how a [SizedQueue](SizedQueue) works.
1078
1074
  class Thread::SizedQueue < Thread::Queue
1079
1075
  # Alias for: [push](SizedQueue.downloaded.ruby_doc#method-i-push)
1080
- def <<: (*untyped args) -> untyped
1076
+ alias << push
1081
1077
 
1082
1078
  # Alias for: [push](SizedQueue.downloaded.ruby_doc#method-i-push)
1083
- def enq: (*untyped args) -> untyped
1079
+ alias enq push
1084
1080
 
1085
- def initialize: (untyped max) -> SizedQueue
1081
+ def initialize: (Integer max) -> SizedQueue
1086
1082
 
1087
1083
  # Returns the maximum size of the queue.
1088
1084
  def max: () -> Integer
1089
1085
 
1090
1086
  # Sets the maximum size of the queue to the given `number` .
1091
- def max=: (Integer max) -> untyped
1087
+ def max=: (Integer max) -> void
1092
1088
 
1093
1089
  # Pushes `object` to the queue.
1094
1090
  #
@@ -1100,13 +1096,13 @@ class Thread::SizedQueue < Thread::Queue
1100
1096
  #
1101
1097
  # Also aliased as: [enq](SizedQueue.downloaded.ruby_doc#method-i-enq),
1102
1098
  # [\<\<](SizedQueue.downloaded.ruby_doc#method-i-3C-3C)
1103
- def push: (*untyped args) -> untyped
1099
+ def push: (untyped obj, ?bool non_block) -> void
1104
1100
  end
1105
1101
 
1106
- ConditionVariable: untyped
1102
+ ConditionVariable: singleton(Thread::ConditionVariable)
1107
1103
 
1108
- Mutex: untyped
1104
+ Mutex: singleton(Thread::Mutex)
1109
1105
 
1110
- Queue: untyped
1106
+ Queue: singleton(Thread::Queue)
1111
1107
 
1112
- SizedQueue: untyped
1108
+ SizedQueue: singleton(Thread::SizedQueue)
@@ -11,7 +11,7 @@
11
11
  class ThreadGroup < Object
12
12
  def add: (Thread thread) -> ThreadGroup
13
13
 
14
- def enclose: () -> ThreadGroup
14
+ def enclose: () -> self
15
15
 
16
16
  # Returns `true` if the `thgrp` is enclosed. See also
17
17
  # [\#enclose](ThreadGroup.downloaded.ruby_doc#method-i-enclose).