dotnet/roslyn
"Redundant assignment" analysis does not consider recursive code path
開放
#47,655 建立於 2020年9月12日
Area-IDEBughelp wanted
倉庫指標
- 星標
- (20,414 顆星)
- PR 合併指標
- (平均合併 6天 17小時) (30 天內合併 256 個 PR)
描述
Version Used: VS 2019 16.7.3
Steps to Reproduce:
- Create new .NET Core console app.
- Paste the following code.
static void Foo(Exception ex)
{
var indentLevel = 0;
void Bar(Exception e)
{
indentLevel++;
if (indentLevel < 5)
Bar(e);
indentLevel--;
}
Bar(ex);
}
Expected Behavior: No analysis complaints
Actual Behavior:
VS claims that indentLevel-- is a redundant assignment.
This is true for the top level call to Bar but not true for the recursive calls that reference the same indentLevel variable.