在评论中找到死代码

时间:2015-10-27 19:20:25

标签: vb.net code-analysis static-analysis roslyn roslyn-code-analysis

我已经定义了一些分析器和代码修复提供程序,并希望在Visual Basic中查找死代码以清理我们的源代码。我目前正在努力寻找评论代码,并确定它们是否是评论代码(死代码),而不是通常的评论。

评论的典型函数(它也可能是多行注释,但在我们的代码库中很少见到):

'''' <summary>
'''' This function is unused
'''' </summary>
'''' <returns></returns>
'Public Function IsUnusedFunction() As Boolean

'   ' This function always return true
'   Return True

'End Function

有没有人用Roslyn实现这一目标?我希望我能为我们的开发人员提供一些分析器和代码修复程序。

修改

这是我现在的DiagnosticAnalyzer代码位:

Public Overrides Sub Initialize(pContext As AnalysisContext)

    pContext.RegisterSyntaxTreeAction(AddressOf AnalyzeSyntaxTree)

End Sub

Private Async Sub AnalyzeSyntaxTree(pContext As SyntaxTreeAnalysisContext)

    Dim lRoot As SyntaxNode = Await pContext.Tree.GetRootAsync(pContext.CancellationToken)
    Dim lCommentNodes = lRoot.DescendantTrivia().Where(Function(t) t.IsKind(SyntaxKind.CommentTrivia))

    'TODO: Do some logic here to find consecutives comments (ignoring empty line) to perform action

End Sub

0 个答案:

没有答案