Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
038add87
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,发现更多精彩内容 >>
提交
038add87
编写于
5月 18, 2015
作者:
H
Heejae Chang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
changed the way report duplicates
上级
b1ceada2
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
137 addition
and
148 deletion
+137
-148
src/Compilers/Core/Portable/PublicAPI.txt
src/Compilers/Core/Portable/PublicAPI.txt
+120
-127
src/EditorFeatures/Test2/Diagnostics/DiagnosticServiceTests.vb
...ditorFeatures/Test2/Diagnostics/DiagnosticServiceTests.vb
+1
-1
src/Features/Core/Diagnostics/DiagnosticAnalyzerService.cs
src/Features/Core/Diagnostics/DiagnosticAnalyzerService.cs
+16
-20
未找到文件。
src/Compilers/Core/Portable/PublicAPI.txt
浏览文件 @
038add87
此差异已折叠。
点击以展开。
src/EditorFeatures/Test2/Diagnostics/DiagnosticServiceTests.vb
浏览文件 @
038add87
...
...
@@ -201,7 +201,7 @@ Namespace Microsoft.CodeAnalysis.Editor.Implementation.Diagnostics.UnitTests
Dim
descriptorsMap
=
diagnosticService
.
GetDiagnosticDescriptors
(
project
)
' two references in the map
Assert
.
Equal
(
2
,
descriptorsMap
.
Count
)
Assert
.
Equal
(
1
,
descriptorsMap
.
Count
)
Dim
names
=
New
HashSet
(
Of
String
)
names
.
UnionWith
(
descriptorsMap
.
Keys
)
...
...
src/Features/Core/Diagnostics/DiagnosticAnalyzerService.cs
浏览文件 @
038add87
...
...
@@ -64,7 +64,6 @@ protected DiagnosticAnalyzerService(ImmutableArray<AnalyzerReference> workspaceA
{
var
map
=
_hostAnalyzerManager
.
CreateAnalyzerReferencesMap
(
projectOpt
);
var
nameCollisionMap
=
new
Dictionary
<
string
,
int
>();
var
builder
=
ImmutableDictionary
.
CreateBuilder
<
string
,
ImmutableArray
<
DiagnosticDescriptor
>>();
foreach
(
var
kv
in
descriptorsPerReference
)
...
...
@@ -73,33 +72,30 @@ protected DiagnosticAnalyzerService(ImmutableArray<AnalyzerReference> workspaceA
var
descriptors
=
kv
.
Value
;
AnalyzerReference
reference
;
if
(
map
.
TryGetValue
(
id
,
out
reference
)
&&
reference
!
=
null
)
if
(
!
map
.
TryGetValue
(
id
,
out
reference
)
||
reference
=
=
null
)
{
var
displayName
=
GetDisplayName
(
nameCollisionMap
,
reference
);
builder
.
Add
(
displayName
,
descriptors
);
continue
;
}
var
displayName
=
GetDisplayName
(
reference
);
// if there are duplicates, merge descriptors
ImmutableArray
<
DiagnosticDescriptor
>
existing
;
if
(
builder
.
TryGetValue
(
displayName
,
out
existing
))
{
builder
[
displayName
]
=
existing
.
AddRange
(
descriptors
);
continue
;
}
builder
.
Add
(
displayName
,
descriptors
);
}
return
builder
.
ToImmutable
();
}
private
static
string
GetDisplayName
(
Dictionary
<
string
,
int
>
nameCollisionMap
,
AnalyzerReference
reference
)
private
static
string
GetDisplayName
(
AnalyzerReference
reference
)
{
var
name
=
reference
.
Display
??
FeaturesResources
.
Unknown
;
var
count
=
GetNameCollisionCount
(
nameCollisionMap
,
name
);
return
count
==
0
?
name
:
$"
{
name
}
[#
{
count
}
]"
;
}
private
static
int
GetNameCollisionCount
(
Dictionary
<
string
,
int
>
nameCollisionMap
,
string
name
)
{
int
count
=
0
;
if
(
nameCollisionMap
.
TryGetValue
(
name
,
out
count
))
{
count
++;
}
nameCollisionMap
[
name
]
=
count
;
return
count
;
return
reference
.
Display
??
FeaturesResources
.
Unknown
;
}
public
ImmutableArray
<
DiagnosticDescriptor
>
GetDiagnosticDescriptors
(
DiagnosticAnalyzer
analyzer
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录