typeprof 0.9.1 → 0.13.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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +1 -1
  3. data/Gemfile.lock +6 -5
  4. data/doc/demo.md +2 -2
  5. data/doc/todo.md +133 -0
  6. data/lib/typeprof/analyzer.rb +163 -77
  7. data/lib/typeprof/block.rb +39 -4
  8. data/lib/typeprof/builtin.rb +195 -70
  9. data/lib/typeprof/cli.rb +7 -0
  10. data/lib/typeprof/config.rb +30 -14
  11. data/lib/typeprof/container-type.rb +24 -0
  12. data/lib/typeprof/export.rb +134 -74
  13. data/lib/typeprof/import.rb +87 -39
  14. data/lib/typeprof/iseq.rb +23 -4
  15. data/lib/typeprof/method.rb +29 -7
  16. data/lib/typeprof/type.rb +75 -13
  17. data/lib/typeprof/version.rb +1 -1
  18. data/smoke/alias.rb +4 -4
  19. data/smoke/alias2.rb +3 -1
  20. data/smoke/arguments.rb +2 -2
  21. data/smoke/arguments2.rb +5 -5
  22. data/smoke/array-each.rb +1 -1
  23. data/smoke/array-each3.rb +1 -1
  24. data/smoke/array-map.rb +1 -1
  25. data/smoke/array-map2.rb +1 -1
  26. data/smoke/array-map3.rb +3 -3
  27. data/smoke/array-mul.rb +2 -2
  28. data/smoke/array-plus1.rb +1 -1
  29. data/smoke/array-plus2.rb +1 -0
  30. data/smoke/array-range-aref.rb +11 -11
  31. data/smoke/array-replace.rb +1 -1
  32. data/smoke/array1.rb +5 -5
  33. data/smoke/array10.rb +1 -1
  34. data/smoke/array11.rb +1 -1
  35. data/smoke/array12.rb +1 -1
  36. data/smoke/array14.rb +1 -1
  37. data/smoke/array15.rb +1 -1
  38. data/smoke/array2.rb +2 -2
  39. data/smoke/array3.rb +1 -0
  40. data/smoke/array6.rb +2 -1
  41. data/smoke/array8.rb +1 -1
  42. data/smoke/array9.rb +1 -1
  43. data/smoke/attr-module.rb +1 -0
  44. data/smoke/attr-vis.rb +43 -0
  45. data/smoke/attr-vis.rbs +4 -0
  46. data/smoke/attr.rb +2 -2
  47. data/smoke/block-ambiguous.rb +4 -4
  48. data/smoke/block-args1-rest.rb +6 -5
  49. data/smoke/block-args1.rb +5 -5
  50. data/smoke/block-args2-rest.rb +6 -5
  51. data/smoke/block-args2.rb +5 -5
  52. data/smoke/block-args3-rest.rb +7 -6
  53. data/smoke/block-args3.rb +6 -6
  54. data/smoke/block-blockarg.rb +3 -3
  55. data/smoke/block-kwarg.rb +4 -4
  56. data/smoke/block1.rb +1 -1
  57. data/smoke/block10.rb +1 -1
  58. data/smoke/block11.rb +2 -2
  59. data/smoke/block2.rb +1 -1
  60. data/smoke/block3.rb +1 -1
  61. data/smoke/block5.rb +1 -0
  62. data/smoke/block_given.rb +37 -0
  63. data/smoke/class_eval.rb +22 -0
  64. data/smoke/class_method.rb +2 -2
  65. data/smoke/class_method2.rb +2 -2
  66. data/smoke/constant2.rb +3 -2
  67. data/smoke/context-sensitive1.rb +1 -1
  68. data/smoke/cvar.rb +3 -2
  69. data/smoke/define_method.rb +2 -2
  70. data/smoke/define_method3.rb +1 -0
  71. data/smoke/define_method4.rb +1 -1
  72. data/smoke/define_method6.rb +19 -0
  73. data/smoke/define_method7.rb +18 -0
  74. data/smoke/demo.rb +6 -6
  75. data/smoke/demo1.rb +1 -1
  76. data/smoke/demo11.rb +1 -1
  77. data/smoke/demo2.rb +1 -1
  78. data/smoke/demo3.rb +1 -1
  79. data/smoke/demo4.rb +3 -3
  80. data/smoke/demo5.rb +1 -1
  81. data/smoke/demo6.rb +2 -1
  82. data/smoke/demo7.rb +1 -1
  83. data/smoke/demo9.rb +1 -0
  84. data/smoke/dummy-execution1.rb +1 -1
  85. data/smoke/dummy-execution2.rb +1 -1
  86. data/smoke/dummy_element.rb +1 -1
  87. data/smoke/ensure1.rb +1 -1
  88. data/smoke/enum_for.rb +15 -0
  89. data/smoke/enum_for2.rb +17 -0
  90. data/smoke/extended.rb +38 -0
  91. data/smoke/fib.rb +2 -2
  92. data/smoke/flow1.rb +1 -1
  93. data/smoke/flow10.rb +17 -0
  94. data/smoke/flow2.rb +1 -1
  95. data/smoke/flow3.rb +1 -1
  96. data/smoke/flow5.rb +1 -1
  97. data/smoke/flow6.rb +1 -1
  98. data/smoke/flow7.rb +1 -1
  99. data/smoke/flow8.rb +1 -1
  100. data/smoke/flow9.rb +1 -1
  101. data/smoke/function.rb +1 -1
  102. data/smoke/gvar.rb +1 -1
  103. data/smoke/gvar2.rb +1 -1
  104. data/smoke/hash-fetch.rb +3 -3
  105. data/smoke/included.rb +38 -0
  106. data/smoke/inheritance.rb +4 -4
  107. data/smoke/inherited.rb +26 -0
  108. data/smoke/initialize.rb +3 -2
  109. data/smoke/instance_eval.rb +2 -2
  110. data/smoke/instance_eval4.rb +12 -0
  111. data/smoke/int_times.rb +1 -1
  112. data/smoke/integer.rb +1 -1
  113. data/smoke/ivar.rb +3 -2
  114. data/smoke/ivar2.rb +2 -2
  115. data/smoke/ivar3.rb +2 -1
  116. data/smoke/ivar4.rb +1 -0
  117. data/smoke/kernel-class.rb +1 -1
  118. data/smoke/keyword4.rb +1 -1
  119. data/smoke/kwrest.rb +1 -0
  120. data/smoke/kwsplat1.rb +2 -2
  121. data/smoke/kwsplat2.rb +1 -1
  122. data/smoke/manual-rbs.rb +2 -1
  123. data/smoke/manual-rbs3.rb +1 -0
  124. data/smoke/method_in_branch.rb +1 -1
  125. data/smoke/method_missing.rb +4 -3
  126. data/smoke/module3.rb +1 -1
  127. data/smoke/module4.rb +1 -0
  128. data/smoke/module5.rb +1 -1
  129. data/smoke/module_function1.rb +3 -2
  130. data/smoke/module_function2.rb +3 -2
  131. data/smoke/multiple-include.rb +1 -0
  132. data/smoke/next1.rb +1 -1
  133. data/smoke/object-send1.rb +3 -3
  134. data/smoke/optional1.rb +1 -1
  135. data/smoke/optional2.rb +1 -1
  136. data/smoke/optional3.rb +1 -1
  137. data/smoke/parameterizedd-self.rb +2 -1
  138. data/smoke/prepend1.rb +33 -0
  139. data/smoke/prepend2.rb +10 -0
  140. data/smoke/prepend2.rbs +9 -0
  141. data/smoke/primitive_method.rb +19 -0
  142. data/smoke/proc4.rb +1 -1
  143. data/smoke/public.rb +4 -0
  144. data/smoke/range.rb +1 -1
  145. data/smoke/rbs-attr.rb +2 -2
  146. data/smoke/rbs-proc2.rb +1 -1
  147. data/smoke/rbs-proc3.rb +1 -1
  148. data/smoke/rbs-tyvar4.rb +3 -2
  149. data/smoke/rbs-tyvar6.rb +3 -3
  150. data/smoke/redo1.rb +1 -1
  151. data/smoke/redo2.rb +1 -1
  152. data/smoke/rescue1.rb +1 -1
  153. data/smoke/rescue2.rb +1 -1
  154. data/smoke/rescue3.rb +1 -0
  155. data/smoke/rescue4.rb +1 -1
  156. data/smoke/respond_to.rb +1 -1
  157. data/smoke/rest1.rb +2 -2
  158. data/smoke/rest2.rb +1 -1
  159. data/smoke/rest3.rb +6 -6
  160. data/smoke/rest4.rb +2 -2
  161. data/smoke/rest5.rb +1 -1
  162. data/smoke/rest6.rb +1 -1
  163. data/smoke/retry1.rb +2 -2
  164. data/smoke/simple.rb +12 -0
  165. data/smoke/step.rb +3 -3
  166. data/smoke/struct-keyword_init.rb +6 -16
  167. data/smoke/struct.rb +1 -1
  168. data/smoke/struct2.rb +1 -1
  169. data/smoke/struct3.rb +1 -1
  170. data/smoke/struct4.rb +1 -1
  171. data/smoke/struct5.rb +2 -2
  172. data/smoke/struct6.rb +2 -2
  173. data/smoke/struct7.rb +1 -1
  174. data/smoke/super1.rb +4 -4
  175. data/smoke/super3.rb +3 -2
  176. data/smoke/super4.rb +7 -5
  177. data/smoke/super5.rb +6 -4
  178. data/smoke/symbol-proc-attr.rb +1 -1
  179. data/smoke/tap1.rb +2 -2
  180. data/smoke/toplevel.rb +1 -1
  181. data/smoke/type_var.rb +3 -3
  182. data/smoke/user-demo.rb +1 -1
  183. data/smoke/wrong-extend.rb +1 -0
  184. data/smoke/wrong-include.rb +1 -0
  185. data/smoke/wrong-include2.rb +1 -1
  186. data/testbed/goodcheck-Gemfile.lock +1 -1
  187. data/typeprof.gemspec +1 -1
  188. metadata +24 -5
@@ -58,17 +58,18 @@ __END__
58
58
  # Classes
59
59
  class Object
60
60
  StringArray: Array[String]
61
+
61
62
  private
62
63
  def f1: { (*String) -> nil } -> (^(String, ?:opt | String, *String, String) -> nil)
63
- def log1: (String, :opt | String, Array[String], String) -> nil
64
+ def log1: (String a, :opt | String o, Array[String] r, String c) -> nil
64
65
  def f2: { (:a, *String) -> nil } -> (^(:a, ?:opt | String, *String, String) -> nil)
65
- def log2: (:a, :opt | String, Array[String], String) -> nil
66
+ def log2: (:a a, :opt | String o, Array[String] r, String c) -> nil
66
67
  def f3: { (:a, :b, *String) -> nil } -> (^(:a, ?:b | :opt, *String, :b | String) -> nil)
67
- def log3: (:a, :b | :opt, Array[String], :b | String) -> nil
68
+ def log3: (:a a, :b | :opt o, Array[String] r, :b | String c) -> nil
68
69
  def f4: { (:a, :b, :c, *String) -> nil } -> (^(:a, ?:b | :opt, *:c | String, :c | String) -> nil)
69
- def log4: (:a, :b | :opt, Array[:c | String], :c | String) -> nil
70
+ def log4: (:a a, :b | :opt o, Array[:c | String] r, :c | String c) -> nil
70
71
  def f5: { (:a, :b, :c, :d, *String) -> nil } -> (^(:a, ?:b | :opt, *:c | :d | String, :d | String) -> nil)
71
- def log5: (:a, :b | :opt, Array[:c | :d | String], :d | String) -> nil
72
+ def log5: (:a a, :b | :opt o, Array[:c | :d | String] r, :d | String c) -> nil
72
73
  def f6: { (:a, :b, :c, :d, :e, *String) -> nil } -> (^(:a, ?:b | :opt, *:c | :d | :e | String, :e | String) -> nil)
73
- def log6: (:a, :b | :opt, Array[:c | :d | :e | String], :e | String) -> nil
74
+ def log6: (:a a, :b | :opt o, Array[:c | :d | :e | String] r, :e | String c) -> nil
74
75
  end
data/smoke/block-args3.rb CHANGED
@@ -57,15 +57,15 @@ __END__
57
57
  class Object
58
58
  private
59
59
  def f1: { -> nil } -> ^(nil, ?:opt, *bot, nil) -> nil
60
- def log1: (nil, :opt, Array[bot], nil) -> nil
60
+ def log1: (nil a, :opt o, Array[bot] r, nil c) -> nil
61
61
  def f2: { (:a) -> nil } -> ^(:a, ?:opt, *bot, nil) -> nil
62
- def log2: (:a, :opt, Array[bot], nil) -> nil
62
+ def log2: (:a a, :opt o, Array[bot] r, nil c) -> nil
63
63
  def f3: { (:a, :b) -> nil } -> ^(:a, ?:opt, *bot, :b) -> nil
64
- def log3: (:a, :opt, Array[bot], :b) -> nil
64
+ def log3: (:a a, :opt o, Array[bot] r, :b c) -> nil
65
65
  def f4: { (:a, :b, :c) -> nil } -> (^(:a, ?:b | :opt, *bot, :c) -> nil)
66
- def log4: (:a, :b | :opt, Array[bot], :c) -> nil
66
+ def log4: (:a a, :b | :opt o, Array[bot] r, :c c) -> nil
67
67
  def f5: { (:a, :b, :c, :d) -> nil } -> (^(:a, ?:b | :opt, *:c, :d) -> nil)
68
- def log5: (:a, :b | :opt, [:c], :d) -> nil
68
+ def log5: (:a a, :b | :opt o, [:c] r, :d c) -> nil
69
69
  def f6: { (:a, :b, :c, :d, :e) -> nil } -> (^(:a, ?:b | :opt, *:c | :d, :e) -> nil)
70
- def log6: (:a, :b | :opt, [:c, :d], :e) -> nil
70
+ def log6: (:a a, :b | :opt o, [:c, :d] r, :e c) -> nil
71
71
  end
@@ -21,8 +21,8 @@ __END__
21
21
  # Classes
22
22
  class Object
23
23
  private
24
- def log1: (:a) -> nil
25
- def log2: (:b) -> nil
26
- def log3: (:c) -> nil
24
+ def log1: (:a x) -> nil
25
+ def log2: (:b x) -> nil
26
+ def log3: (:c x) -> nil
27
27
  def f: { -> :c } -> :d
28
28
  end
data/smoke/block-kwarg.rb CHANGED
@@ -41,13 +41,13 @@ smoke/block-kwarg.rb:31: [error] no argument for required keywords
41
41
  class Object
42
42
  private
43
43
  def f1: { -> nil } -> nil
44
- def log1: (Integer) -> nil
44
+ def log1: (Integer n) -> nil
45
45
  def f2: { -> nil } -> nil
46
- def log2: (:opt | Integer) -> nil
46
+ def log2: (:opt | Integer n) -> nil
47
47
  def f3: { -> nil } -> nil
48
- def log3: (Integer | String) -> nil
48
+ def log3: (Integer | String n) -> nil
49
49
  def f4: { -> nil } -> nil
50
- def log4: ({k: Integer}) -> nil
50
+ def log4: ({k: Integer} kwrest) -> nil
51
51
  def f5: { -> nil } -> untyped
52
52
  def f6: { -> nil } -> untyped
53
53
  end
data/smoke/block1.rb CHANGED
@@ -19,5 +19,5 @@ __END__
19
19
  # Classes
20
20
  class Object
21
21
  private
22
- def foo: (:sym | String) { (:sym | Integer | String) -> (:sym | Integer | String) } -> (:sym | Integer | String)
22
+ def foo: (:sym | String x) { (:sym | Integer | String) -> (:sym | Integer | String) } -> (:sym | Integer | String)
23
23
  end
data/smoke/block10.rb CHANGED
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def foo: ([Integer], [String]) -> ([Integer | String])
14
+ def foo: ([Integer] ary1, [String] ary2) -> ([Integer | String])
15
15
  end
data/smoke/block11.rb CHANGED
@@ -32,8 +32,8 @@ __END__
32
32
  # Classes
33
33
  class Object
34
34
  private
35
- def log1: (Integer?) -> nil
36
- def log2: (Integer?) -> nil
35
+ def log1: (Integer? x) -> nil
36
+ def log2: (Integer? x) -> nil
37
37
  def foo: -> Integer?
38
38
  def test_yield: { -> nil } -> nil
39
39
  def bar: -> Integer?
data/smoke/block2.rb CHANGED
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def foo: (Integer) { (Integer) -> String } -> String
14
+ def foo: (Integer x) { (Integer) -> String } -> String
15
15
  end
data/smoke/block3.rb CHANGED
@@ -26,7 +26,7 @@ Bar.new.bar
26
26
  __END__
27
27
  # Classes
28
28
  class Common
29
- def func: (:sym | String) { (Integer) -> (:sym2 | Integer) } -> (:sym2 | Integer)
29
+ def func: (:sym | String x) { (Integer) -> (:sym2 | Integer) } -> (:sym2 | Integer)
30
30
  end
31
31
 
32
32
  class Foo
data/smoke/block5.rb CHANGED
@@ -15,6 +15,7 @@ __END__
15
15
  # Classes
16
16
  class Object
17
17
  F: ^(Integer) -> String
18
+
18
19
  private
19
20
  def foo: { (:sym) -> String } -> String
20
21
  end
@@ -0,0 +1,37 @@
1
+ def foo
2
+ block_given?
3
+ end
4
+
5
+ foo {}
6
+
7
+ def bar
8
+ block_given?
9
+ end
10
+
11
+ bar
12
+
13
+ def baz
14
+ block_given?
15
+ end
16
+
17
+ baz {}
18
+ baz
19
+
20
+ def qux
21
+ block_given?
22
+ end
23
+
24
+ qux(&unknown)
25
+
26
+ __END__
27
+ # Errors
28
+ smoke/block_given.rb:24: [error] undefined method: Object#unknown
29
+
30
+ # Classes
31
+ class Object
32
+ private
33
+ def foo: { -> nil } -> true
34
+ def bar: -> false
35
+ def baz: ?{ -> nil } -> bool
36
+ def qux: -> bool
37
+ end
@@ -0,0 +1,22 @@
1
+ module Foo
2
+ end
3
+
4
+ module Bar
5
+ Foo.class_eval do
6
+ @foo = self
7
+ def foo
8
+ "str"
9
+ end
10
+ end
11
+ end
12
+
13
+ __END__
14
+ # Classes
15
+ module Foo
16
+ self.@foo: singleton(Foo)
17
+
18
+ def self.foo: -> String
19
+ end
20
+
21
+ module Bar
22
+ end
@@ -20,6 +20,6 @@ Test.bar("str")
20
20
  __END__
21
21
  # Classes
22
22
  class Test
23
- def self.foo: (Integer) -> Integer
24
- def self.bar: (String) -> String
23
+ def self.foo: (Integer x) -> Integer
24
+ def self.bar: (String x) -> String
25
25
  end
@@ -16,6 +16,6 @@ Test.bar("str")
16
16
  __END__
17
17
  # Classes
18
18
  class Test
19
- def self.foo: (Integer) -> Integer
20
- def self.bar: (String) -> String
19
+ def self.foo: (Integer | String x) -> (Integer | String)
20
+ alias self.bar self.foo
21
21
  end
data/smoke/constant2.rb CHANGED
@@ -25,9 +25,10 @@ smoke/constant2.rb:15: [warning] already initialized constant Object::BAR
25
25
  # Classes
26
26
  class Object
27
27
  BAR: String
28
+
28
29
  private
29
- def foo: (Integer | untyped) -> nil
30
- def log: (String) -> nil
30
+ def foo: (Integer | untyped x) -> nil
31
+ def log: (String x) -> nil
31
32
  end
32
33
 
33
34
  class C
@@ -9,5 +9,5 @@ __END__
9
9
  # Classes
10
10
  class Object
11
11
  private
12
- def foo: (Integer) -> Integer
12
+ def foo: (Integer x) -> Integer
13
13
  end
data/smoke/cvar.rb CHANGED
@@ -19,12 +19,13 @@ __END__
19
19
  # Classes
20
20
  class Object
21
21
  private
22
- def log1: (Integer) -> nil
23
- def log2: (Integer) -> nil
22
+ def log1: (Integer x) -> nil
23
+ def log2: (Integer x) -> nil
24
24
  end
25
25
 
26
26
  class A
27
27
  FOO: Integer
28
28
  @@var: Integer
29
+
29
30
  def foo: -> nil
30
31
  end
@@ -11,6 +11,6 @@ end
11
11
  __END__
12
12
  # Classes
13
13
  class Foo
14
- def bar: (:FOO | untyped) -> :BAR
15
- def foo: (untyped) -> :BAR
14
+ def bar: (:FOO | untyped n) -> :BAR
15
+ def foo: (untyped n) -> :BAR
16
16
  end
@@ -9,5 +9,6 @@ __END__
9
9
  # Classes
10
10
  class Foo
11
11
  @log: Integer
12
+
12
13
  # def foo: () -> void
13
14
  end
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Foo
13
13
  # def foo: () -> NilClass
14
- def bar: (*untyped, **Hash[untyped, untyped]) -> nil
14
+ def bar: (*untyped messages, **untyped) -> nil
15
15
  end
@@ -0,0 +1,19 @@
1
+ class A
2
+ %i[a b].each.with_index { |sym, i| define_method(sym) { i } }
3
+ end
4
+
5
+ def foo
6
+ A.new.a + A.new.b
7
+ end
8
+
9
+ __END__
10
+ # Classes
11
+ class Object
12
+ private
13
+ def foo: -> Integer
14
+ end
15
+
16
+ class A
17
+ def a: -> Integer
18
+ def b: -> Integer
19
+ end
@@ -0,0 +1,18 @@
1
+ class Human
2
+ define_method(:fo) { }
3
+
4
+ [:a, :b].each { |m|
5
+ define_method(m) { }
6
+ }
7
+ end
8
+
9
+ Human.new.a
10
+ Human.new.b
11
+
12
+ __END__
13
+ # Classes
14
+ class Human
15
+ def fo: -> nil
16
+ def a: -> nil
17
+ def b: -> nil
18
+ end
data/smoke/demo.rb CHANGED
@@ -66,16 +66,16 @@ __END__
66
66
  # Classes
67
67
  class Object
68
68
  private
69
- def foo: (bool) -> (Integer | String)
70
- def identity: (:sym | Integer | String) -> (:sym | Integer | String)
71
- def fib: (Integer) -> Integer
69
+ def foo: (bool x) -> (Integer | String)
70
+ def identity: (:sym | Integer | String x) -> (:sym | Integer | String)
71
+ def fib: (Integer x) -> Integer
72
72
  end
73
73
 
74
74
  class A
75
- def foo: (Integer | String) -> nil
76
- def bar: (Integer | String) -> nil
75
+ def foo: (Integer | String x) -> nil
76
+ def bar: (Integer | String x) -> nil
77
77
  end
78
78
 
79
79
  class B < A
80
- def bar: (Integer | String) -> nil
80
+ def bar: (Integer | String x) -> nil
81
81
  end
data/smoke/demo1.rb CHANGED
@@ -13,5 +13,5 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def foo: (bool) -> (Integer | String)
16
+ def foo: (bool x) -> (Integer | String)
17
17
  end
data/smoke/demo11.rb CHANGED
@@ -8,5 +8,5 @@ __END__
8
8
  # Classes
9
9
  class Object
10
10
  private
11
- def swap: ([Integer, String]) -> [String, Integer]
11
+ def swap: ([Integer, String] a) -> [String, Integer]
12
12
  end
data/smoke/demo2.rb CHANGED
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def my_to_s: (:sym | Integer | String) -> String
14
+ def my_to_s: (:sym | Integer | String x) -> String
15
15
  end
data/smoke/demo3.rb CHANGED
@@ -13,5 +13,5 @@ __END__
13
13
  # Classes
14
14
  class Object
15
15
  private
16
- def fib: (Integer) -> Integer
16
+ def fib: (Integer x) -> Integer
17
17
  end
data/smoke/demo4.rb CHANGED
@@ -18,10 +18,10 @@ B.new.foo("str")
18
18
  __END__
19
19
  # Classes
20
20
  class A
21
- def foo: (Integer | String) -> nil
22
- def bar: (Integer | String) -> nil
21
+ def foo: (Integer | String x) -> nil
22
+ def bar: (Integer | String x) -> nil
23
23
  end
24
24
 
25
25
  class B < A
26
- def bar: (Integer | String) -> nil
26
+ def bar: (Integer | String x) -> nil
27
27
  end
data/smoke/demo5.rb CHANGED
@@ -9,7 +9,7 @@ B.foo(Integer)
9
9
  __END__
10
10
  # Classes
11
11
  class A
12
- def self.foo: (Integer | singleton(Integer)) -> String
12
+ def self.foo: (Integer | singleton(Integer) x) -> String
13
13
  end
14
14
 
15
15
  class B < A
data/smoke/demo6.rb CHANGED
@@ -16,6 +16,7 @@ __END__
16
16
  # Classes
17
17
  class Foo
18
18
  @foo: Integer | String
19
- def foo=: (Integer | String) -> (Integer | String)
19
+
20
+ def foo=: (Integer | String x) -> (Integer | String)
20
21
  def foo: -> (Integer | String)
21
22
  end
data/smoke/demo7.rb CHANGED
@@ -11,5 +11,5 @@ __END__
11
11
  # Classes
12
12
  class Object
13
13
  private
14
- def foo: (Integer) { (Integer) -> String } -> String
14
+ def foo: (Integer x) { (Integer) -> String } -> String
15
15
  end
data/smoke/demo9.rb CHANGED
@@ -12,6 +12,7 @@ __END__
12
12
  # Classes
13
13
  class Object
14
14
  F: ^(Integer) -> String
15
+
15
16
  private
16
17
  def foo: { (:sym) -> String } -> String
17
18
  end
@@ -10,6 +10,6 @@ __END__
10
10
  # Classes
11
11
  class Object
12
12
  private
13
- def foo: (Integer | untyped) -> (Integer | untyped)
13
+ def foo: (Integer | untyped n) -> (Integer | untyped)
14
14
  def bar: -> (Integer | untyped)
15
15
  end