typeprof 0.8.0 → 0.9.0

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 (281) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/lib/typeprof/analyzer.rb +96 -44
  4. data/lib/typeprof/arguments.rb +2 -0
  5. data/lib/typeprof/block.rb +6 -2
  6. data/lib/typeprof/builtin.rb +125 -62
  7. data/lib/typeprof/container-type.rb +5 -4
  8. data/lib/typeprof/export.rb +7 -7
  9. data/lib/typeprof/import.rb +14 -2
  10. data/lib/typeprof/iseq.rb +23 -7
  11. data/lib/typeprof/method.rb +13 -14
  12. data/lib/typeprof/type.rb +52 -2
  13. data/lib/typeprof/version.rb +1 -1
  14. data/smoke/alias.rb +4 -4
  15. data/smoke/alias2.rb +4 -4
  16. data/smoke/any1.rb +1 -1
  17. data/smoke/any2.rb +2 -2
  18. data/smoke/arguments.rb +2 -2
  19. data/smoke/arguments2.rb +10 -10
  20. data/smoke/array-each.rb +1 -1
  21. data/smoke/array-each2.rb +1 -1
  22. data/smoke/array-each3.rb +1 -1
  23. data/smoke/array-ltlt.rb +1 -1
  24. data/smoke/array-ltlt2.rb +1 -1
  25. data/smoke/array-map.rb +1 -1
  26. data/smoke/array-map2.rb +1 -1
  27. data/smoke/array-map3.rb +3 -3
  28. data/smoke/array-mul.rb +2 -2
  29. data/smoke/array-plus1.rb +1 -1
  30. data/smoke/array-plus2.rb +2 -2
  31. data/smoke/array-pop.rb +1 -1
  32. data/smoke/array-range-aref.rb +11 -11
  33. data/smoke/array-replace.rb +1 -1
  34. data/smoke/array-s-aref.rb +1 -1
  35. data/smoke/array1.rb +5 -5
  36. data/smoke/array10.rb +1 -1
  37. data/smoke/array11.rb +1 -1
  38. data/smoke/array12.rb +3 -3
  39. data/smoke/array13.rb +4 -4
  40. data/smoke/array14.rb +1 -1
  41. data/smoke/array15.rb +16 -0
  42. data/smoke/array2.rb +3 -3
  43. data/smoke/array3.rb +4 -4
  44. data/smoke/array4.rb +1 -1
  45. data/smoke/array5.rb +1 -1
  46. data/smoke/array6.rb +2 -2
  47. data/smoke/array7.rb +1 -1
  48. data/smoke/array8.rb +1 -1
  49. data/smoke/array9.rb +1 -1
  50. data/smoke/attr-module.rb +26 -0
  51. data/smoke/attr.rb +5 -5
  52. data/smoke/autoload.rb +1 -1
  53. data/smoke/backtrace.rb +3 -3
  54. data/smoke/block-ambiguous.rb +8 -8
  55. data/smoke/block-args1-rest.rb +11 -11
  56. data/smoke/block-args1.rb +10 -10
  57. data/smoke/block-args2-rest.rb +11 -11
  58. data/smoke/block-args2.rb +10 -10
  59. data/smoke/block-args3-rest.rb +13 -13
  60. data/smoke/block-args3.rb +12 -12
  61. data/smoke/block-blockarg.rb +4 -4
  62. data/smoke/block-kwarg.rb +10 -10
  63. data/smoke/block1.rb +1 -1
  64. data/smoke/block10.rb +1 -1
  65. data/smoke/block11.rb +5 -5
  66. data/smoke/block12.rb +2 -2
  67. data/smoke/block14.rb +2 -2
  68. data/smoke/block2.rb +1 -1
  69. data/smoke/block3.rb +3 -3
  70. data/smoke/block4.rb +2 -2
  71. data/smoke/block5.rb +2 -2
  72. data/smoke/block6.rb +2 -2
  73. data/smoke/block7.rb +1 -1
  74. data/smoke/block8.rb +3 -3
  75. data/smoke/block9.rb +1 -1
  76. data/smoke/blown.rb +1 -1
  77. data/smoke/break1.rb +2 -2
  78. data/smoke/break2.rb +1 -1
  79. data/smoke/break3.rb +13 -0
  80. data/smoke/case.rb +1 -1
  81. data/smoke/case2.rb +1 -1
  82. data/smoke/case3.rb +17 -0
  83. data/smoke/class-hierarchy.rb +5 -5
  84. data/smoke/class-hierarchy2.rb +3 -3
  85. data/smoke/class-new.rb +15 -0
  86. data/smoke/class_instance_var.rb +1 -1
  87. data/smoke/class_method.rb +2 -2
  88. data/smoke/class_method2.rb +2 -2
  89. data/smoke/class_method3.rb +2 -2
  90. data/smoke/constant1.rb +6 -6
  91. data/smoke/constant2.rb +4 -4
  92. data/smoke/constant3.rb +1 -1
  93. data/smoke/constant4.rb +1 -1
  94. data/smoke/context-sensitive1.rb +1 -1
  95. data/smoke/cvar.rb +5 -5
  96. data/smoke/cvar2.rb +2 -2
  97. data/smoke/define_method.rb +2 -2
  98. data/smoke/define_method2.rb +2 -2
  99. data/smoke/define_method3.rb +13 -0
  100. data/smoke/define_method3.rbs +3 -0
  101. data/smoke/define_method4.rb +15 -0
  102. data/smoke/define_method4.rbs +3 -0
  103. data/smoke/define_method5.rb +12 -0
  104. data/smoke/demo.rb +6 -6
  105. data/smoke/demo1.rb +1 -1
  106. data/smoke/demo10.rb +2 -2
  107. data/smoke/demo11.rb +1 -1
  108. data/smoke/demo2.rb +1 -1
  109. data/smoke/demo3.rb +1 -1
  110. data/smoke/demo4.rb +3 -3
  111. data/smoke/demo5.rb +1 -1
  112. data/smoke/demo6.rb +3 -3
  113. data/smoke/demo7.rb +1 -1
  114. data/smoke/demo8.rb +2 -2
  115. data/smoke/demo9.rb +2 -2
  116. data/smoke/dummy-execution1.rb +2 -2
  117. data/smoke/dummy-execution2.rb +2 -2
  118. data/smoke/dummy_element.rb +14 -0
  119. data/smoke/ensure1.rb +2 -2
  120. data/smoke/enumerator.rb +2 -2
  121. data/smoke/expandarray1.rb +1 -1
  122. data/smoke/expandarray2.rb +1 -1
  123. data/smoke/fib.rb +2 -2
  124. data/smoke/flip-flop.rb +28 -0
  125. data/smoke/flow1.rb +1 -1
  126. data/smoke/flow2.rb +1 -1
  127. data/smoke/flow3.rb +1 -1
  128. data/smoke/flow5.rb +1 -1
  129. data/smoke/flow6.rb +1 -1
  130. data/smoke/flow7.rb +1 -1
  131. data/smoke/flow8.rb +1 -1
  132. data/smoke/flow9.rb +12 -0
  133. data/smoke/freeze.rb +1 -1
  134. data/smoke/function.rb +2 -2
  135. data/smoke/gvar.rb +2 -2
  136. data/smoke/gvar2.rb +2 -2
  137. data/smoke/hash-bot.rb +12 -0
  138. data/smoke/hash-fetch.rb +3 -3
  139. data/smoke/hash-merge-bang.rb +1 -1
  140. data/smoke/hash1.rb +2 -2
  141. data/smoke/hash2.rb +1 -1
  142. data/smoke/hash3.rb +1 -1
  143. data/smoke/hash4.rb +1 -1
  144. data/smoke/hash5.rb +1 -1
  145. data/smoke/inheritance.rb +4 -4
  146. data/smoke/inheritance2.rb +2 -2
  147. data/smoke/initialize.rb +5 -5
  148. data/smoke/instance_eval.rb +2 -2
  149. data/smoke/instance_eval2.rb +10 -0
  150. data/smoke/instance_eval3.rb +25 -0
  151. data/smoke/int_times.rb +1 -1
  152. data/smoke/integer.rb +1 -1
  153. data/smoke/ivar.rb +4 -4
  154. data/smoke/ivar2.rb +4 -4
  155. data/smoke/ivar3.rb +2 -2
  156. data/smoke/kernel-class.rb +1 -1
  157. data/smoke/keyword1.rb +1 -1
  158. data/smoke/keyword2.rb +1 -1
  159. data/smoke/keyword3.rb +1 -1
  160. data/smoke/keyword4.rb +1 -1
  161. data/smoke/keyword5.rb +1 -1
  162. data/smoke/kwrest.rb +2 -2
  163. data/smoke/kwsplat1.rb +4 -4
  164. data/smoke/kwsplat2.rb +1 -1
  165. data/smoke/lit-complex.rb +10 -0
  166. data/smoke/lit-encoding.rb +10 -0
  167. data/smoke/manual-rbs.rb +3 -3
  168. data/smoke/manual-rbs2.rb +1 -1
  169. data/smoke/manual-rbs3.rb +2 -2
  170. data/smoke/masgn1.rb +1 -1
  171. data/smoke/masgn2.rb +2 -2
  172. data/smoke/masgn3.rb +1 -1
  173. data/smoke/method_in_branch.rb +2 -2
  174. data/smoke/method_missing.rb +4 -4
  175. data/smoke/module1.rb +2 -2
  176. data/smoke/module2.rb +1 -1
  177. data/smoke/module3.rb +2 -2
  178. data/smoke/module4.rb +2 -2
  179. data/smoke/module5.rb +17 -0
  180. data/smoke/module6.rb +40 -0
  181. data/smoke/module_function1.rb +3 -3
  182. data/smoke/module_function2.rb +3 -3
  183. data/smoke/multiple-include.rb +1 -1
  184. data/smoke/multiple-superclass.rb +1 -1
  185. data/smoke/next1.rb +2 -2
  186. data/smoke/next2.rb +1 -1
  187. data/smoke/object-send1.rb +3 -3
  188. data/smoke/object-send2.rb +10 -0
  189. data/smoke/object-send3.rb +18 -0
  190. data/smoke/once.rb +1 -1
  191. data/smoke/optional1.rb +1 -1
  192. data/smoke/optional2.rb +1 -1
  193. data/smoke/optional3.rb +1 -1
  194. data/smoke/parameterizedd-self.rb +2 -2
  195. data/smoke/parameterizedd-self2.rb +1 -1
  196. data/smoke/pathname1.rb +1 -1
  197. data/smoke/pathname2.rb +1 -1
  198. data/smoke/pattern-match1.rb +1 -1
  199. data/smoke/pattern-match2.rb +1 -1
  200. data/smoke/printf.rb +2 -2
  201. data/smoke/proc.rb +2 -2
  202. data/smoke/proc2.rb +1 -1
  203. data/smoke/proc3.rb +1 -1
  204. data/smoke/proc4.rb +1 -1
  205. data/smoke/proc5.rb +19 -0
  206. data/smoke/public.rb +34 -0
  207. data/smoke/range.rb +1 -1
  208. data/smoke/rbs-alias.rb +1 -1
  209. data/smoke/rbs-attr.rb +3 -3
  210. data/smoke/rbs-attr2.rb +1 -1
  211. data/smoke/rbs-extend.rb +1 -1
  212. data/smoke/rbs-interface.rb +4 -4
  213. data/smoke/rbs-module.rb +26 -0
  214. data/smoke/rbs-module.rbs +4 -0
  215. data/smoke/rbs-opt-and-rest.rb +10 -0
  216. data/smoke/rbs-opt-and-rest.rbs +3 -0
  217. data/smoke/rbs-proc1.rb +1 -1
  218. data/smoke/rbs-proc2.rb +2 -2
  219. data/smoke/rbs-proc3.rb +1 -1
  220. data/smoke/rbs-record.rb +2 -2
  221. data/smoke/rbs-tyvar.rb +2 -2
  222. data/smoke/rbs-tyvar2.rb +2 -2
  223. data/smoke/rbs-tyvar3.rb +2 -2
  224. data/smoke/rbs-tyvar4.rb +3 -3
  225. data/smoke/rbs-tyvar5.rb +1 -1
  226. data/smoke/rbs-tyvar6.rb +3 -3
  227. data/smoke/rbs-tyvar7.rb +1 -1
  228. data/smoke/rbs-vars.rb +6 -6
  229. data/smoke/redo1.rb +2 -2
  230. data/smoke/redo2.rb +2 -2
  231. data/smoke/req-keyword.rb +1 -1
  232. data/smoke/rescue1.rb +2 -2
  233. data/smoke/rescue2.rb +2 -2
  234. data/smoke/rescue3.rb +19 -0
  235. data/smoke/rescue4.rb +17 -0
  236. data/smoke/respond_to.rb +1 -1
  237. data/smoke/rest-farg.rb +1 -1
  238. data/smoke/rest1.rb +2 -2
  239. data/smoke/rest2.rb +1 -1
  240. data/smoke/rest3.rb +6 -6
  241. data/smoke/rest4.rb +2 -2
  242. data/smoke/rest5.rb +1 -1
  243. data/smoke/rest6.rb +1 -1
  244. data/smoke/retry1.rb +2 -2
  245. data/smoke/return.rb +1 -1
  246. data/smoke/singleton_method.rb +1 -1
  247. data/smoke/step.rb +3 -3
  248. data/smoke/string-split.rb +1 -1
  249. data/smoke/struct-keyword_init.rb +20 -0
  250. data/smoke/struct.rb +1 -1
  251. data/smoke/struct2.rb +4 -4
  252. data/smoke/struct3.rb +2 -2
  253. data/smoke/struct4.rb +7 -0
  254. data/smoke/struct5.rb +16 -0
  255. data/smoke/struct6.rb +15 -0
  256. data/smoke/struct7.rb +17 -0
  257. data/smoke/stub-keyword.rb +10 -0
  258. data/smoke/super1.rb +4 -4
  259. data/smoke/super2.rb +1 -1
  260. data/smoke/super3.rb +3 -3
  261. data/smoke/super4.rb +5 -5
  262. data/smoke/super5.rb +4 -4
  263. data/smoke/svar1.rb +1 -1
  264. data/smoke/symbol-proc-attr.rb +22 -0
  265. data/smoke/symbol-proc-attr2.rb +15 -0
  266. data/smoke/symbol-proc-bot.rb +13 -0
  267. data/smoke/symbol-proc.rb +3 -3
  268. data/smoke/tap1.rb +2 -2
  269. data/smoke/toplevel.rb +1 -1
  270. data/smoke/two-map.rb +2 -2
  271. data/smoke/type_var.rb +1 -1
  272. data/smoke/typed_method.rb +1 -1
  273. data/smoke/uninitialize-var.rb +1 -1
  274. data/smoke/union-recv.rb +2 -2
  275. data/smoke/user-demo.rb +3 -3
  276. data/smoke/wrong-extend.rb +2 -2
  277. data/smoke/wrong-include.rb +2 -2
  278. data/smoke/wrong-include2.rb +17 -0
  279. data/typeprof.gemspec +1 -1
  280. metadata +44 -5
  281. data/tools/stackprof-wrapper.rb +0 -10
@@ -18,11 +18,11 @@ C.new(D.new).foo(:X, :Y, :Z)
18
18
  __END__
19
19
  # Classes
20
20
  class D
21
- def foo : (:X, :Y, :Z) -> nil
21
+ def foo: (:X, :Y, :Z) -> nil
22
22
  end
23
23
 
24
24
  class C
25
- @target : D
26
- def initialize : (D) -> D
27
- def method_missing : (:foo, *:X | :Y | :Z) -> nil
25
+ @target: D
26
+ def initialize: (D) -> D
27
+ def method_missing: (:foo, *:X | :Y | :Z) -> nil
28
28
  end
@@ -20,8 +20,8 @@ C.new.bar
20
20
  __END__
21
21
  # Classes
22
22
  module M
23
- def foo : -> :foo
24
- def bar : -> :bar
23
+ def foo: -> :foo
24
+ def bar: -> :bar
25
25
  end
26
26
 
27
27
  class C
@@ -16,7 +16,7 @@ C.new.foo
16
16
  __END__
17
17
  # Classes
18
18
  module M1
19
- def foo : -> :foo
19
+ def foo: -> :foo
20
20
  end
21
21
 
22
22
  module M2
@@ -20,11 +20,11 @@ C.new.foo
20
20
  __END__
21
21
  # Classes
22
22
  module M1
23
- def foo : -> :m1
23
+ def foo: -> :m1
24
24
  end
25
25
 
26
26
  module M2
27
- def foo : -> :m2
27
+ def foo: -> :m2
28
28
  end
29
29
 
30
30
  class C
@@ -21,12 +21,12 @@ C.foo
21
21
  __END__
22
22
  # Classes
23
23
  module M2
24
- def foo : -> :m2_foo
24
+ def foo: -> :m2_foo
25
25
  end
26
26
 
27
27
  module M1
28
28
  extend M2
29
- def foo : -> :m1_foo
29
+ def foo: -> :m1_foo
30
30
  end
31
31
 
32
32
  class C
@@ -0,0 +1,17 @@
1
+ module Foo
2
+ Module.new do
3
+ include Foo
4
+ extend Foo
5
+ end
6
+ end
7
+
8
+ Foo.foo
9
+ __END__
10
+ # Errors
11
+ smoke/module5.rb:8: [error] undefined method: singleton(Foo)#foo
12
+
13
+ # Classes
14
+ module Foo
15
+ include Foo
16
+ extend Foo
17
+ end
@@ -0,0 +1,40 @@
1
+ module A
2
+ end
3
+
4
+ module B
5
+ include A
6
+ end
7
+
8
+ module A
9
+ include B
10
+ end
11
+
12
+ class C
13
+ include A
14
+ end
15
+
16
+ def log
17
+ C.new.foo
18
+ end
19
+
20
+ __END__
21
+ # Errors
22
+ smoke/module6.rb:17: [error] undefined method: C#foo
23
+
24
+ # Classes
25
+ class Object
26
+ private
27
+ def log: -> untyped
28
+ end
29
+
30
+ module A
31
+ include B
32
+ end
33
+
34
+ module B
35
+ include A
36
+ end
37
+
38
+ class C
39
+ include A
40
+ end
@@ -18,11 +18,11 @@ Bar.new.bar
18
18
  __END__
19
19
  # Classes
20
20
  module Foo
21
- def foo : (:x | :y) -> (:x | :y)
22
- def self.foo : (:x | :y) -> (:x | :y)
21
+ def foo: (:x | :y) -> (:x | :y)
22
+ def self.foo: (:x | :y) -> (:x | :y)
23
23
  end
24
24
 
25
25
  class Bar
26
26
  include Foo
27
- def bar : -> (:x | :y)
27
+ def bar: -> (:x | :y)
28
28
  end
@@ -18,11 +18,11 @@ Bar.new.bar
18
18
  __END__
19
19
  # Classes
20
20
  module Foo
21
- def foo : (:x | :y) -> (:x | :y)
22
- def self.foo : (:x | :y) -> (:x | :y)
21
+ def foo: (:x | :y) -> (:x | :y)
22
+ def self.foo: (:x | :y) -> (:x | :y)
23
23
  end
24
24
 
25
25
  class Bar
26
26
  include Foo
27
- def bar : -> (:x | :y)
27
+ def bar: -> (:x | :y)
28
28
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Foo
12
12
  include Comparable
13
- def foo : -> nil
13
+ def foo: -> nil
14
14
  end
@@ -15,7 +15,7 @@ smoke/multiple-superclass.rb:9: [warning] superclass is not a class; Object is u
15
15
 
16
16
  # Classes
17
17
  class Object
18
- Base : singleton(A) | singleton(B)
18
+ Base: singleton(A) | singleton(B)
19
19
  end
20
20
 
21
21
  class A
@@ -16,6 +16,6 @@ __END__
16
16
  # Classes
17
17
  class Object
18
18
  private
19
- def bar : (Integer) -> Integer
20
- def foo : { (Integer) -> String } -> String
19
+ def bar: (Integer) -> Integer
20
+ def foo: { (Integer) -> String } -> String
21
21
  end
@@ -13,5 +13,5 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def foo : { -> (Integer | String) } -> (Integer | String)
16
+ def foo: { -> (Integer | String) } -> (Integer | String)
17
17
  end
@@ -17,7 +17,7 @@ __END__
17
17
  # Classes
18
18
  class Object
19
19
  private
20
- def foo : (Integer) -> Integer
21
- def bar : (Integer) -> Integer
22
- def dispatch : (:bar | :foo) -> Integer
20
+ def foo: (Integer) -> Integer
21
+ def bar: (Integer) -> Integer
22
+ def dispatch: (:bar | :foo) -> Integer
23
23
  end
@@ -0,0 +1,10 @@
1
+ def foo
2
+ nil.send
3
+ end
4
+
5
+ __END__
6
+ # Classes
7
+ class Object
8
+ private
9
+ def foo: -> untyped
10
+ end
@@ -0,0 +1,18 @@
1
+ class Foo
2
+ include Enumerable
3
+ end
4
+
5
+ def log
6
+ Foo.new.send(*:cycle)
7
+ end
8
+
9
+ __END__
10
+ # Classes
11
+ class Object
12
+ private
13
+ def log: -> Enumerator[untyped]
14
+ end
15
+
16
+ class Foo
17
+ include Enumerable
18
+ end
@@ -9,5 +9,5 @@ __END__
9
9
  # Classes
10
10
  class Object
11
11
  private
12
- def foo : -> [Regexp, Integer?]
12
+ def foo: -> [Regexp, Integer?]
13
13
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : (String, ?Integer | String, ?Integer | String, String) -> ([String, Integer | String, Integer | String, String])
13
+ def foo: (String, ?Integer | String, ?Integer | String, String) -> ([String, Integer | String, Integer | String, String])
14
14
  end
@@ -12,5 +12,5 @@ __END__
12
12
  # Classes
13
13
  class Object
14
14
  private
15
- def foo : (String, ?Integer | String, ?Integer | String, *String, String) -> ([String, Integer | String, Integer | String, Array[String], String])
15
+ def foo: (String, ?Integer | String, ?Integer | String, *String, String) -> ([String, Integer | String, Integer | String, Array[String], String])
16
16
  end
@@ -7,5 +7,5 @@ __END__
7
7
  # Classes
8
8
  class Object
9
9
  private
10
- def foo : (?Integer | String) -> nil
10
+ def foo: (?Integer | String) -> nil
11
11
  end
@@ -13,7 +13,7 @@ bar([])
13
13
  __END__
14
14
  # Classes
15
15
  class Object
16
- def foo : -> Array[bot]
16
+ def foo: -> Array[bot]
17
17
  private
18
- def bar : (Array[bot]) -> Array[bot]
18
+ def bar: (Array[bot]) -> Array[bot]
19
19
  end
@@ -11,5 +11,5 @@ end
11
11
  __END__
12
12
  # Classes
13
13
  class Object
14
- def foo : -> nil
14
+ def foo: -> nil
15
15
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : -> Pathname
13
+ def foo: -> Pathname
14
14
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : -> Pathname
13
+ def foo: -> Pathname
14
14
  end
@@ -20,5 +20,5 @@ smoke/pattern-match1.rb:5: [error] undefined method: nil#[]
20
20
  # Classes
21
21
  class Object
22
22
  private
23
- def foo : -> ([:a | untyped, :b | untyped])
23
+ def foo: -> ([:a | untyped, :b | untyped])
24
24
  end
@@ -12,5 +12,5 @@ __END__
12
12
  # Classes
13
13
  class Object
14
14
  private
15
- def foo : -> [:A, :B]
15
+ def foo: -> [:A, :B]
16
16
  end
@@ -15,6 +15,6 @@ F.new.bar
15
15
  __END__
16
16
  # Classes
17
17
  class F
18
- def foo : -> nil
19
- def bar : -> nil
18
+ def foo: -> nil
19
+ def bar: -> nil
20
20
  end
@@ -15,6 +15,6 @@ __END__
15
15
  # Classes
16
16
  class Object
17
17
  private
18
- def foo : -> Integer
19
- def bar : -> String
18
+ def foo: -> Integer
19
+ def bar: -> String
20
20
  end
@@ -13,5 +13,5 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def foo : -> Integer
16
+ def foo: -> Integer
17
17
  end
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def foo : -> [Integer]
14
+ def foo: -> [Integer]
15
15
  end
@@ -8,5 +8,5 @@ __END__
8
8
  # Classes
9
9
  class Object
10
10
  private
11
- def foo : (^(Integer) -> String) -> String
11
+ def foo: (^(Integer) -> String) -> String
12
12
  end
@@ -0,0 +1,19 @@
1
+ def foo(&blk)
2
+ $blk = blk
3
+ nil
4
+ end
5
+
6
+ foo {}
7
+ foo {|arg| }
8
+
9
+ $blk.call(42)
10
+
11
+ __END__
12
+ # Global variables
13
+ $blk: ^(?Integer) -> nil
14
+
15
+ # Classes
16
+ class Object
17
+ private
18
+ def foo: { (Integer) -> nil } -> nil
19
+ end
@@ -0,0 +1,34 @@
1
+ class Foo
2
+ def foo
3
+ end
4
+
5
+ private
6
+
7
+ def bar
8
+ end
9
+
10
+ public
11
+
12
+ def baz
13
+ end
14
+
15
+ private def qux
16
+ end
17
+
18
+ def corge
19
+ end
20
+ end
21
+
22
+ __END__
23
+ # Classes
24
+ class Foo
25
+ def foo: -> nil
26
+ private
27
+ def bar: -> nil
28
+ public
29
+ def baz: -> nil
30
+ private
31
+ def qux: -> nil
32
+ public
33
+ def corge: -> nil
34
+ end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : (Integer, Integer) -> Range
13
+ def foo: (Integer, Integer) -> Range
14
14
  end
@@ -6,5 +6,5 @@ __END__
6
6
  # Classes
7
7
  class Object
8
8
  private
9
- def log : -> Integer
9
+ def log: -> Integer
10
10
  end
@@ -21,7 +21,7 @@ smoke/rbs-attr.rb:13: [warning] inconsistent assignment to RBS-declared global v
21
21
  # Classes
22
22
  class Object
23
23
  private
24
- def read_test_1 : -> Integer
25
- def read_test_2 : -> Integer
26
- def write_test : -> String
24
+ def read_test_1: -> Integer
25
+ def read_test_2: -> Integer
26
+ def write_test: -> String
27
27
  end