Do not report unreachable code after loops

closes #251
This commit is contained in:
Vitalii Elenhaupt 2021-11-10 09:11:45 +02:00
parent d843afd962
commit 429f76f8b6
No known key found for this signature in database
GPG key ID: CD0BF17825928BC0
3 changed files with 21 additions and 11 deletions

View file

@ -39,6 +39,22 @@ module Ameba::AST
flow_expression.unreachable_nodes.should eq nodes.assign_nodes
end
it "returns nil if there is no unreachable node after loop" do
nodes = as_nodes %(
def run
idx = items.size - 1
while 0 <= idx
return
end
puts "foo"
end
)
node = nodes.expressions_nodes.first
flow_expression = FlowExpression.new node, false
flow_expression.unreachable_nodes.empty?.should eq true
end
it "returns nil if there is no unreachable node" do
nodes = as_nodes %(
def foobar