Open
Description
Description of the false positive
In the code below it warns that spanDirective
is never read even though the value is passed to a method in which it is read:
if (directiveNode is LineSpanDirectiveTriviaSyntax spanDirective)
{
return GetLineSpanDirectiveEntry(spanDirective, directiveLineNumber);
}
The compiler transforms the code into this (you can view the IL here)
LineSpanDirectiveTriviaSyntax lineSpanDirectiveTriviaSyntax = directiveNode as LineSpanDirectiveTriviaSyntax;
if (lineSpanDirectiveTriviaSyntax != null)
{
return GetLineSpanDirectiveEntry(spanDirective, directiveLineNumber);
}
So this is a false positive unless we can prove that there exists no conversion to LineSpanDirectiveTriviaSyntax
that can ever succeed.
URL to the alert on the project page on LGTM.com