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