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
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def log : ((:sym | Integer | String)?) -> nil
14
+ def log: ((:sym | Integer | String)?) -> nil
15
15
  end
@@ -12,5 +12,5 @@ __END__
12
12
  # Classes
13
13
  class Object
14
14
  private
15
- def foo : -> ((Integer | String)?)
15
+ def foo: -> ((Integer | String)?)
16
16
  end
@@ -9,5 +9,5 @@ __END__
9
9
  # Classes
10
10
  class Object
11
11
  private
12
- def log : (bot) -> nil
12
+ def log: (bot) -> nil
13
13
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : -> (Array[Integer | String])
13
+ def foo: -> (Array[Integer | String])
14
14
  end
@@ -13,5 +13,5 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def foo : -> (Array[Integer | String])
16
+ def foo: -> (Array[Integer | String])
17
17
  end
@@ -8,5 +8,5 @@ __END__
8
8
  # Classes
9
9
  class Object
10
10
  private
11
- def foo : ([Integer, Integer, Integer]) -> Array[String]
11
+ def foo: ([Integer, Integer, Integer]) -> Array[String]
12
12
  end
@@ -7,5 +7,5 @@ __END__
7
7
  # Classes
8
8
  class Object
9
9
  private
10
- def foo : ([Integer, Integer, Integer]) -> (Array[Integer | String])
10
+ def foo: ([Integer, Integer, Integer]) -> (Array[Integer | String])
11
11
  end
@@ -17,7 +17,7 @@ __END__
17
17
  # Classes
18
18
  class Object
19
19
  private
20
- def map_test : ([Integer, Integer, Integer]) -> Array[String]
21
- def map_bang_test : ([Integer, Integer, Integer]) -> (Array[Integer | String])
22
- def map_bang_test_known_bug : ([Integer, Integer, Integer]) -> [Integer, Integer, Integer]
20
+ def map_test: ([Integer, Integer, Integer]) -> Array[String]
21
+ def map_bang_test: ([Integer, Integer, Integer]) -> (Array[Integer | String])
22
+ def map_bang_test_known_bug: ([Integer, Integer, Integer]) -> [Integer, Integer, Integer]
23
23
  end
@@ -13,6 +13,6 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def foo : ([Integer, Integer, Integer]) -> Array[Integer]
17
- def bar : ([Integer, Integer, Integer]) -> String
16
+ def foo: ([Integer, Integer, Integer]) -> Array[Integer]
17
+ def bar: ([Integer, Integer, Integer]) -> String
18
18
  end
@@ -7,5 +7,5 @@ __END__
7
7
  # Classes
8
8
  class Object
9
9
  private
10
- def log : (Array[:sym | Integer | String]) -> nil
10
+ def log: (Array[:sym | Integer | String]) -> nil
11
11
  end
@@ -10,6 +10,6 @@ Foo.new.foo
10
10
  __END__
11
11
  # Classes
12
12
  class Foo
13
- @var : Array[Integer]
14
- def foo : -> Array[Integer]
13
+ @var: Array[Integer]
14
+ def foo: -> Array[Integer]
15
15
  end
@@ -8,5 +8,5 @@ __END__
8
8
  # Classes
9
9
  class Object
10
10
  private
11
- def foo : -> (:sym | Integer | String)
11
+ def foo: -> (:sym | Integer | String)
12
12
  end
@@ -57,15 +57,15 @@ __END__
57
57
  # Classes
58
58
  class Object
59
59
  private
60
- def f1 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
61
- def f2 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
62
- def f3 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
63
- def f4 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
64
- def f5 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
65
- def f6 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
66
- def f7 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
67
- def f8 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
68
- def f9 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
69
- def f10 : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
70
- def dispatch : (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
60
+ def f1: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
61
+ def f2: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
62
+ def f3: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
63
+ def f4: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
64
+ def f5: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
65
+ def f6: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
66
+ def f7: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
67
+ def f8: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
68
+ def f9: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
69
+ def f10: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
70
+ def dispatch: (*:a | :b | :c | :d | :e) -> (Array[:a | :b | :c | :d | :e])
71
71
  end
@@ -9,5 +9,5 @@ __END__
9
9
  # Classes
10
10
  class Object
11
11
  private
12
- def foo : ([Integer, Integer, Integer]) -> (Array[Integer | String])
12
+ def foo: ([Integer, Integer, Integer]) -> (Array[Integer | String])
13
13
  end
@@ -8,5 +8,5 @@ __END__
8
8
  # Classes
9
9
  class Object
10
10
  private
11
- def foo : -> (Array[Integer | String])
11
+ def foo: -> (Array[Integer | String])
12
12
  end
@@ -19,9 +19,9 @@ __END__
19
19
  # Classes
20
20
  class Object
21
21
  private
22
- def foo : ([Integer, String]) -> Integer
23
- def bar : (Integer) -> nil
24
- def baz : (String) -> nil
25
- def qux : (nil) -> nil
26
- def quux : (Integer | String) -> nil
22
+ def foo: ([Integer, String]) -> Integer
23
+ def bar: (Integer) -> nil
24
+ def baz: (String) -> nil
25
+ def qux: (nil) -> nil
26
+ def quux: (Integer | String) -> nil
27
27
  end
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def foo : ([:a, :b, :c]) -> :a
14
+ def foo: ([:a, :b, :c]) -> :a
15
15
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def array : (Array[Integer] | Hash[Integer, Integer] | String) -> (Array[Hash[Integer, Integer] | Integer | String])
13
+ def array: (Array[Integer] | Hash[Integer, Integer] | String) -> (Array[Hash[Integer, Integer] | Integer | String])
14
14
  end
@@ -19,7 +19,7 @@ __END__
19
19
  # Classes
20
20
  class Object
21
21
  private
22
- def bar : ([Integer]) -> nil
23
- def test_yield : { -> nil } -> nil
24
- def foo : -> [Integer]
22
+ def bar: ([Integer]) -> nil
23
+ def test_yield: { -> nil } -> nil
24
+ def foo: -> [Integer]
25
25
  end
@@ -24,8 +24,8 @@ __END__
24
24
  # Classes
25
25
  class Object
26
26
  private
27
- def tuple_set : -> [:a, :b, :z]
28
- def tuple_get : -> :c
29
- def seq_set : -> (Array[:a | :b | :c | :z])
30
- def seq_get : -> (:a | :b | :c)
27
+ def tuple_set: -> [:a, :b, :z]
28
+ def tuple_get: -> :c
29
+ def seq_set: -> (Array[:a | :b | :c | :z])
30
+ def seq_get: -> (:a | :b | :c)
31
31
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def f : (:a, :b, :c) -> :c
13
+ def f: (:a, :b, :c) -> :c
14
14
  end
@@ -0,0 +1,16 @@
1
+ class Foo
2
+ def []=(*args)
3
+ ary = []
4
+ val = args[-1]
5
+ ary[*args[0..-2]] = val # TODO: there is room to improve array_aset
6
+ ary # This should be Array[String]
7
+ end
8
+ end
9
+
10
+ Foo.new[1] = "str"
11
+
12
+ __END__
13
+ # Classes
14
+ class Foo
15
+ def []=: (*Integer | String) -> Array[bot]
16
+ end
@@ -22,7 +22,7 @@ __END__
22
22
  # Classes
23
23
  class Object
24
24
  private
25
- def foo : -> [[String]]
26
- def bar : ([[Integer]]) -> [[String]]
27
- def log : ([[Integer]]) -> nil
25
+ def foo: -> [[String]]
26
+ def bar: ([[Integer]]) -> [[String]]
27
+ def log: ([[Integer]]) -> nil
28
28
  end
@@ -18,8 +18,8 @@ Foo.new.bar
18
18
  __END__
19
19
  # Classes
20
20
  class Foo
21
- @ary : [Integer, String?, :sym]
22
- def initialize : -> [Integer, String, :sym]
23
- def foo : -> String?
24
- def bar : -> nil
21
+ @ary: [Integer, String?, :sym]
22
+ def initialize: -> [Integer, String, :sym]
23
+ def foo: -> String?
24
+ def bar: -> nil
25
25
  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
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : -> [untyped]
13
+ def foo: -> [untyped]
14
14
  end
@@ -10,7 +10,7 @@ foo(1, "str")
10
10
  __END__
11
11
  # Classes
12
12
  class Object
13
- ARY : Array[bot]
13
+ ARY: Array[bot]
14
14
  private
15
- def foo : (Integer, String) -> Array[bot]
15
+ def foo: (Integer, String) -> Array[bot]
16
16
  end
@@ -10,5 +10,5 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo : -> (Array[Integer | String])
13
+ def foo: -> (Array[Integer | String])
14
14
  end
@@ -9,5 +9,5 @@ end
9
9
  __END__
10
10
  # Classes
11
11
  class Foo
12
- def self.foo : (Array[bot]) -> Array[bot]
12
+ def self.foo: (Array[bot]) -> Array[bot]
13
13
  end
@@ -9,5 +9,5 @@ __END__
9
9
  # Classes
10
10
  class Object
11
11
  private
12
- def foo : (Array[:a | :b | :c]) -> nil
12
+ def foo: (Array[:a | :b | :c]) -> nil
13
13
  end
@@ -0,0 +1,26 @@
1
+ module Foo
2
+ attr_accessor :foo
3
+ module_function :foo=, :foo
4
+ end
5
+
6
+ class Bar
7
+ include Foo
8
+ end
9
+
10
+ Foo.foo = 42
11
+ Bar.new.foo = "str"
12
+
13
+ # XXX: the output may be improved
14
+
15
+ __END__
16
+ # Classes
17
+ module Foo
18
+ self.@foo: Integer
19
+ attr_accessor foo: untyped
20
+ attr_accessor self.foo: Integer
21
+ end
22
+
23
+ class Bar
24
+ include Foo
25
+ @foo: String
26
+ end
@@ -20,9 +20,9 @@ foo.c = :ccc
20
20
  __END__
21
21
  # Classes
22
22
  class Foo
23
- attr_reader a : :aaa
24
- attr_writer b : :bbb
25
- attr_accessor c : :ccc
26
- def initialize : (:aaa) -> :aaa
27
- def get_b : -> :bbb
23
+ attr_reader a: :aaa
24
+ attr_writer b: :bbb
25
+ attr_accessor c: :ccc
26
+ def initialize: (:aaa) -> :aaa
27
+ def get_b: -> :bbb
28
28
  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
@@ -27,7 +27,7 @@ smoke/backtrace.rb:2: [error] undefined method: Object#unknown_method
27
27
  # Classes
28
28
  class Object
29
29
  private
30
- def foo : -> untyped
31
- def bar : -> untyped
32
- def baz : -> untyped
30
+ def foo: -> untyped
31
+ def bar: -> untyped
32
+ def baz: -> untyped
33
33
  end
@@ -26,12 +26,12 @@ __END__
26
26
  # Classes
27
27
  class Object
28
28
  private
29
- def f1 : { (:a, :b, :c) -> nil } -> nil
30
- def log1 : (:a) -> nil
31
- def f2 : { (:a, :b, :c) -> nil } -> nil
32
- def log2 : (:a) -> nil
33
- def f3 : { ([:a, :b, :c]) -> nil } -> nil
34
- def log3 : ([:a, :b, :c]) -> nil
35
- def f4 : { ([:a, :b, :c]) -> nil } -> nil
36
- def log4 : (:a) -> nil
29
+ def f1: { (:a, :b, :c) -> nil } -> nil
30
+ def log1: (:a) -> nil
31
+ def f2: { (:a, :b, :c) -> nil } -> nil
32
+ def log2: (:a) -> nil
33
+ def f3: { ([:a, :b, :c]) -> nil } -> nil
34
+ def log3: ([:a, :b, :c]) -> nil
35
+ def f4: { ([:a, :b, :c]) -> nil } -> nil
36
+ def log4: (:a) -> nil
37
37
  end
@@ -48,16 +48,16 @@ end
48
48
  __END__
49
49
  # Classes
50
50
  class Object
51
- StringArray : Array[String]
51
+ StringArray: Array[String]
52
52
  private
53
- def f1 : { (*String) -> nil } -> (^(String, ?:opt | String, String) -> nil)
54
- def log1 : (String, :opt | String, String) -> nil
55
- def f2 : { (:a, *String) -> nil } -> (^(:a, ?:opt | String, String) -> nil)
56
- def log2 : (:a, :opt | String, String) -> nil
57
- def f3 : { (:a, :b, *String) -> nil } -> (^(:a, ?:b | :opt, :b | String) -> nil)
58
- def log3 : (:a, :b | :opt, :b | String) -> nil
59
- def f4 : { (:a, :b, :c, *String) -> nil } -> (^(:a, ?:b | :opt, :b | :c) -> nil)
60
- def log4 : (:a, :b | :opt, :b | :c) -> nil
61
- def f5 : { (:a, :b, :c, :d, *String) -> nil } -> (^(:a, ?:b | :opt, :b | :c) -> nil)
62
- def log5 : (:a, :b | :opt, :b | :c) -> nil
53
+ def f1: { (*String) -> nil } -> (^(String, ?:opt | String, String) -> nil)
54
+ def log1: (String, :opt | String, String) -> nil
55
+ def f2: { (:a, *String) -> nil } -> (^(:a, ?:opt | String, String) -> nil)
56
+ def log2: (:a, :opt | String, String) -> nil
57
+ def f3: { (:a, :b, *String) -> nil } -> (^(:a, ?:b | :opt, :b | String) -> nil)
58
+ def log3: (:a, :b | :opt, :b | String) -> nil
59
+ def f4: { (:a, :b, :c, *String) -> nil } -> (^(:a, ?:b | :opt, :b | :c) -> nil)
60
+ def log4: (:a, :b | :opt, :b | :c) -> nil
61
+ def f5: { (:a, :b, :c, :d, *String) -> nil } -> (^(:a, ?:b | :opt, :b | :c) -> nil)
62
+ def log5: (:a, :b | :opt, :b | :c) -> nil
63
63
  end
@@ -47,14 +47,14 @@ __END__
47
47
  # Classes
48
48
  class Object
49
49
  private
50
- def f1 : { -> nil } -> ^(nil, ?:opt, nil) -> nil
51
- def log1 : (nil, :opt, nil) -> nil
52
- def f2 : { (:a) -> nil } -> ^(:a, ?:opt, nil) -> nil
53
- def log2 : (:a, :opt, nil) -> nil
54
- def f3 : { (:a, :b) -> nil } -> ^(:a, ?:opt, :b) -> nil
55
- def log3 : (:a, :opt, :b) -> nil
56
- def f4 : { (:a, :b, :c) -> nil } -> (^(:a, ?:b | :opt, :c) -> nil)
57
- def log4 : (:a, :b | :opt, :c) -> nil
58
- def f5 : { (:a, :b, :c, :d) -> nil } -> (^(:a, ?:b | :opt, :c) -> nil)
59
- def log5 : (:a, :b | :opt, :c) -> nil
50
+ def f1: { -> nil } -> ^(nil, ?:opt, nil) -> nil
51
+ def log1: (nil, :opt, nil) -> nil
52
+ def f2: { (:a) -> nil } -> ^(:a, ?:opt, nil) -> nil
53
+ def log2: (:a, :opt, nil) -> nil
54
+ def f3: { (:a, :b) -> nil } -> ^(:a, ?:opt, :b) -> nil
55
+ def log3: (:a, :opt, :b) -> nil
56
+ def f4: { (:a, :b, :c) -> nil } -> (^(:a, ?:b | :opt, :c) -> nil)
57
+ def log4: (:a, :b | :opt, :c) -> nil
58
+ def f5: { (:a, :b, :c, :d) -> nil } -> (^(:a, ?:b | :opt, :c) -> nil)
59
+ def log5: (:a, :b | :opt, :c) -> nil
60
60
  end
@@ -48,16 +48,16 @@ end
48
48
  __END__
49
49
  # Classes
50
50
  class Object
51
- StringArray : Array[String]
51
+ StringArray: Array[String]
52
52
  private
53
- def f1 : { (*String) -> nil } -> ^(String, *String, String) -> nil
54
- def log1 : (String, Array[String], String) -> nil
55
- def f2 : { (:a, *String) -> nil } -> ^(:a, *String, String) -> nil
56
- def log2 : (:a, Array[String], String) -> nil
57
- def f3 : { (:a, :b, *String) -> nil } -> (^(:a, *:b | String, :b | String) -> nil)
58
- def log3 : (:a, Array[:b | String], :b | String) -> nil
59
- def f4 : { (:a, :b, :c, *String) -> nil } -> (^(:a, *:b | :c | String, :c | String) -> nil)
60
- def log4 : (:a, Array[:b | :c | String], :c | String) -> nil
61
- def f5 : { (:a, :b, :c, :d, *String) -> nil } -> (^(:a, *:b | :c | :d | String, :d | String) -> nil)
62
- def log5 : (:a, Array[:b | :c | :d | String], :d | String) -> nil
53
+ def f1: { (*String) -> nil } -> ^(String, *String, String) -> nil
54
+ def log1: (String, Array[String], String) -> nil
55
+ def f2: { (:a, *String) -> nil } -> ^(:a, *String, String) -> nil
56
+ def log2: (:a, Array[String], String) -> nil
57
+ def f3: { (:a, :b, *String) -> nil } -> (^(:a, *:b | String, :b | String) -> nil)
58
+ def log3: (:a, Array[:b | String], :b | String) -> nil
59
+ def f4: { (:a, :b, :c, *String) -> nil } -> (^(:a, *:b | :c | String, :c | String) -> nil)
60
+ def log4: (:a, Array[:b | :c | String], :c | String) -> nil
61
+ def f5: { (:a, :b, :c, :d, *String) -> nil } -> (^(:a, *:b | :c | :d | String, :d | String) -> nil)
62
+ def log5: (:a, Array[:b | :c | :d | String], :d | String) -> nil
63
63
  end