Skip to content

Commit ead00b5

Browse files
committed
Force to make the result of "initialize" method void
1 parent c04caec commit ead00b5

20 files changed

Lines changed: 35 additions & 26 deletions

File tree

lib/typeprof/core/ast/base.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ def undefine0(genv)
9292
end
9393
end
9494

95+
#: (TypeProf::Core::GlobalEnv) -> TypeProf::Core::BasicVertex
9596
def install(genv)
9697
@ret = install0(genv)
9798
@changes.reinstall(genv)
@@ -111,6 +112,7 @@ def install_copy(genv)
111112
@ret = (@prev_node || raise).ret
112113
end
113114

115+
#: (TypeProf::Core::GlobalEnv) -> untyped
114116
def install0(_)
115117
raise "should override"
116118
end

lib/typeprof/core/ast/call.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,12 @@ def retrieve_at(pos, &blk)
190190
def modified_vars(tbl, vars)
191191
subnodes.each do |key, subnode|
192192
next unless subnode
193-
if key == :block_body
194-
subnode.modified_vars(tbl - self.block_tbl, vars)
195-
elsif subnode.is_a?(AST::Node)
196-
subnode.modified_vars(tbl, vars)
193+
if subnode.is_a?(AST::Node)
194+
if key == :block_body
195+
subnode.modified_vars(tbl - self.block_tbl, vars)
196+
else
197+
subnode.modified_vars(tbl, vars)
198+
end
197199
else
198200
subnode.each {|n| n.modified_vars(tbl, vars) }
199201
end

lib/typeprof/core/env/method.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def get_keyword_arg(genv, changes, name)
8282
end
8383

8484
class Block
85+
#: (AST::CallBaseNode, Vertex, Array[Vertex], Array[EscapeBox]) -> void
8586
def initialize(node, f_ary_arg, f_args, next_boxes)
8687
@node = node
8788
@f_ary_arg = f_ary_arg

lib/typeprof/core/graph/box.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@ def show(output_parameter_names)
664664
args = args.join(", ")
665665
s = args.empty? ? [] : ["(#{ args })"]
666666
s << "#{ block_show.sort.join(" | ") }" unless block_show.empty?
667-
s << "-> #{ @ret.show }"
667+
s << "-> #{ @mid == :initialize ? "void" : @ret.show }"
668668
s.join(" ")
669669
end
670670
end

lib/typeprof/core/graph/vertex.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ def show
6363
end
6464
end
6565
end
66+
67+
def new_vertex(genv, origin)
68+
raise NotImplementedError
69+
end
6670
end
6771

6872
class Source < BasicVertex

scenario/args/keyword-twice.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Bar < Foo
1212

1313
## assert
1414
class Foo
15-
def initialize: (k: Integer) -> nil
15+
def initialize: (k: Integer) -> void
1616
end
1717
class Bar < Foo
1818
end
@@ -31,7 +31,7 @@ class Bar < Foo
3131

3232
## assert
3333
class Foo
34-
def initialize: (?k: :default | Integer) -> nil
34+
def initialize: (?k: :default | Integer) -> void
3535
end
3636
class Bar < Foo
3737
end

scenario/args/positionals_rb_to_rb_block.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ def initialize(n)
1616

1717
## assert
1818
class Foo
19-
def initialize: (Integer) { (String, Float) -> (Integer | String) } -> nil
19+
def initialize: (Integer) { (String, Float) -> (Integer | String) } -> void
2020
end

scenario/class/basic1.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ def foo(n)
1313

1414
## assert
1515
class C
16-
def initialize: (Integer) -> Integer
16+
def initialize: (Integer) -> void
1717
def foo: (String) -> singleton(C)
1818
end

scenario/class/initialize.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def foo
1919
class A
2020
end
2121
class B
22-
def initialize: (Integer) -> Integer
22+
def initialize: (Integer) -> void
2323
end
2424
class C
2525
end
@@ -31,4 +31,4 @@ def foo: -> B
3131
Integer
3232

3333
## hover: test.rb:14:6
34-
B#initialize : (Integer) -> Integer
34+
B#initialize : (Integer) -> void

scenario/class/initialize2.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ def my_new(klass)
1818

1919
## assert
2020
class Foo
21-
def initialize: (Integer) -> nil
21+
def initialize: (Integer) -> void
2222
end
2323
class Bar
24-
def initialize: (Integer) -> nil
24+
def initialize: (Integer) -> void
2525
end
2626
class Object
2727
def my_new: (singleton(Bar) | singleton(Foo)) -> (Bar | Foo)

0 commit comments

Comments
 (0)