fix #645 - False positive, Else branch identical to Then branch with incomplete IfStatement

This commit is contained in:
Basile Burg 2018-06-02 05:25:21 +02:00
parent 410d43028a
commit f78d3e72b9
1 changed files with 9 additions and 1 deletions

View File

@ -31,7 +31,7 @@ final class IfElseSameCheck : BaseAnalyzer
override void visit(const IfStatement ifStatement)
{
if (ifStatement.thenStatement == ifStatement.elseStatement)
if (ifStatement.thenStatement && (ifStatement.thenStatement == ifStatement.elseStatement))
addErrorMessage(ifStatement.line, ifStatement.column,
"dscanner.bugs.if_else_same", "'Else' branch is identical to 'Then' branch.");
ifStatement.accept(this);
@ -95,5 +95,13 @@ unittest
person = "bobby"; // not same
}
}c, sac);
assertAnalyzerWarnings(q{
void foo()
{
if (auto stuff = call())
}
}c, sac);
stderr.writeln("Unittest for IfElseSameCheck passed.");
}