Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
72ffd3f1
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
72ffd3f1
编写于
11月 07, 2018
作者:
M
Manish Vasani
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address feedback
上级
ad24a9cb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
7 addition
and
4 deletion
+7
-4
src/Features/Core/Portable/RemoveUnusedMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
...dMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
+3
-2
src/Features/VisualBasic/Portable/RemoveUnusedMembers/VisualBasicRemoveUnusedMembersDiagnosticAnalyzer.vb
...mbers/VisualBasicRemoveUnusedMembersDiagnosticAnalyzer.vb
+4
-2
未找到文件。
src/Features/Core/Portable/RemoveUnusedMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
浏览文件 @
72ffd3f1
...
...
@@ -55,7 +55,7 @@ protected sealed override void InitializeWorker(AnalysisContext context)
/// <summary>
/// Override this method to register custom language specific actions to find symbol usages.
/// </summary>
protected
virtual
void
RegisterCustomSymbolReferenceActions
(
SymbolStartAnalysisContext
context
,
Action
<
ISymbol
,
ValueUsageInfo
>
onSymbolUsageFound
)
protected
virtual
void
HandleNamedTypeSymbolStart
(
SymbolStartAnalysisContext
context
,
Action
<
ISymbol
,
ValueUsageInfo
>
onSymbolUsageFound
)
{
}
...
...
@@ -103,6 +103,7 @@ private void RegisterActions(CompilationStartAnalysisContext compilationStartCon
compilationStartContext
.
RegisterSymbolAction
(
AnalyzeSymbolDeclaration
,
SymbolKind
.
Method
,
SymbolKind
.
Field
,
SymbolKind
.
Property
,
SymbolKind
.
Event
);
Action
<
ISymbol
,
ValueUsageInfo
>
onSymbolUsageFound
=
OnSymbolUsage
;
compilationStartContext
.
RegisterSymbolStartAction
(
symbolStartContext
=>
{
if
(
symbolStartContext
.
Symbol
.
GetAttributes
().
Any
(
a
=>
a
.
AttributeClass
==
_structLayoutAttributeType
))
...
...
@@ -121,7 +122,7 @@ private void RegisterActions(CompilationStartAnalysisContext compilationStartCon
symbolStartContext
.
RegisterSymbolEndAction
(
symbolEndContext
=>
OnSymbolEnd
(
symbolEndContext
,
hasInvalidOperation
));
// Register custom language-specific actions, if any.
_analyzer
.
RegisterCustomSymbolReferenceActions
(
symbolStartContext
,
OnSymbolUsage
);
_analyzer
.
HandleNamedTypeSymbolStart
(
symbolStartContext
,
onSymbolUsageFound
);
},
SymbolKind
.
NamedType
);
}
...
...
src/Features/VisualBasic/Portable/RemoveUnusedMembers/VisualBasicRemoveUnusedMembersDiagnosticAnalyzer.vb
浏览文件 @
72ffd3f1
...
...
@@ -10,9 +10,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.RemoveUnusedMembers
Friend
NotInheritable
Class
VisualBasicRemoveUnusedMembersDiagnosticAnalyzer
Inherits
AbstractRemoveUnusedMembersDiagnosticAnalyzer
(
Of
DocumentationCommentTriviaSyntax
,
IdentifierNameSyntax
)
Protected
Overrides
Sub
RegisterCustomSymbolReferenceActions
(
context
As
SymbolStartAnalysisContext
,
onSymbolUsageFound
As
Action
(
Of
ISymbol
,
ValueUsageInfo
))
Protected
Overrides
Sub
HandleNamedTypeSymbolStart
(
context
As
SymbolStartAnalysisContext
,
onSymbolUsageFound
As
Action
(
Of
ISymbol
,
ValueUsageInfo
))
' Mark all methods with handles clause as having a read reference
' to ensure that we consider the method as "used".
' Such methods are essentially event handlers and are normally
' not referenced directly.
For
Each
method
In
DirectCast
(
context
.
Symbol
,
INamedTypeSymbol
).
GetMembers
().
OfType
(
Of
IMethodSymbol
)
If
Not
method
.
HandledEvents
.
IsEmpty
Then
onSymbolUsageFound
(
method
,
ValueUsageInfo
.
Read
)
...
...
@@ -20,7 +22,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.RemoveUnusedMembers
Next
' Register syntax node action for HandlesClause
' This is a
temporary
workaround for following bugs:
' This is a workaround for following bugs:
' 1. https://github.com/dotnet/roslyn/issues/30978
' 2. https://github.com/dotnet/roslyn/issues/30979
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录