Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
57662a07
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,发现更多精彩内容 >>
提交
57662a07
编写于
3月 30, 2019
作者:
S
Sam Harwell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unused field ReferenceLocation.IsDuplicateReferenceLocation
上级
22286daa
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
1 addition
and
76 deletion
+1
-76
src/EditorFeatures/Core/FindUsages/AbstractFindUsagesService.ProgressAdapter.cs
...e/FindUsages/AbstractFindUsagesService.ProgressAdapter.cs
+0
-6
src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs
.../FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs
+0
-62
src/Workspaces/Core/Portable/FindSymbols/ReferenceLocation.cs
...Workspaces/Core/Portable/FindSymbols/ReferenceLocation.cs
+1
-8
未找到文件。
src/EditorFeatures/Core/FindUsages/AbstractFindUsagesService.ProgressAdapter.cs
浏览文件 @
57662a07
...
...
@@ -117,12 +117,6 @@ public async Task OnDefinitionFoundAsync(SymbolAndProjectId definition)
public
async
Task
OnReferenceFoundAsync
(
SymbolAndProjectId
definition
,
ReferenceLocation
location
)
{
// Ignore duplicate locations. We don't want to clutter the UI with them.
if
(
location
.
IsDuplicateReferenceLocation
)
{
return
;
}
var
definitionItem
=
await
GetDefinitionItemAsync
(
definition
).
ConfigureAwait
(
false
);
var
referenceItem
=
await
location
.
TryCreateSourceReferenceItemAsync
(
definitionItem
,
includeHiddenLocations
:
false
,
...
...
src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs
浏览文件 @
57662a07
...
...
@@ -85,68 +85,6 @@ protected override bool CanFind(INamedTypeSymbol symbol)
SemanticModel
semanticModel
,
FindReferencesSearchOptions
options
,
CancellationToken
cancellationToken
)
{
var
namedTypeReferences
=
await
FindReferencesInDocumentWorker
(
namedType
,
document
,
semanticModel
,
cancellationToken
).
ConfigureAwait
(
false
);
// Mark any references that are also Constructor references. Some callers
// will want to know about these so they won't display duplicates.
return
await
MarkConstructorReferences
(
namedType
,
document
,
semanticModel
,
namedTypeReferences
,
cancellationToken
).
ConfigureAwait
(
false
);
}
private
async
Task
<
ImmutableArray
<
FinderLocation
>>
MarkConstructorReferences
(
INamedTypeSymbol
namedType
,
Document
document
,
SemanticModel
semanticModel
,
ImmutableArray
<
FinderLocation
>
namedTypeReferences
,
CancellationToken
cancellationToken
)
{
var
constructorReferences
=
ArrayBuilder
<
FinderLocation
>.
GetInstance
();
foreach
(
var
constructor
in
namedType
.
Constructors
)
{
var
references
=
await
ConstructorSymbolReferenceFinder
.
Instance
.
FindAllReferencesInDocumentAsync
(
constructor
,
document
,
semanticModel
,
cancellationToken
).
ConfigureAwait
(
false
);
constructorReferences
.
AddRange
(
references
);
}
var
result
=
ArrayBuilder
<
FinderLocation
>.
GetInstance
();
foreach
(
var
finderLocation
in
namedTypeReferences
)
{
if
(
Contains
(
constructorReferences
,
finderLocation
))
{
var
location
=
finderLocation
.
Location
;
location
.
IsDuplicateReferenceLocation
=
true
;
result
.
Add
(
finderLocation
);
}
else
{
result
.
Add
(
finderLocation
);
}
}
return
result
.
ToImmutableAndFree
();
}
private
bool
Contains
(
ArrayBuilder
<
FinderLocation
>
constructorReferences
,
FinderLocation
reference
)
{
foreach
(
var
constructorRef
in
constructorReferences
)
{
if
(
reference
.
Location
.
Location
==
constructorRef
.
Location
.
Location
)
{
return
true
;
}
}
return
false
;
}
private
static
async
Task
<
ImmutableArray
<
FinderLocation
>>
FindReferencesInDocumentWorker
(
INamedTypeSymbol
namedType
,
Document
document
,
SemanticModel
semanticModel
,
CancellationToken
cancellationToken
)
{
var
nonAliasReferences
=
await
FindNonAliasReferencesAsync
(
namedType
,
document
,
semanticModel
,
cancellationToken
).
ConfigureAwait
(
false
);
var
symbolsMatch
=
GetStandardSymbolsMatchFunction
(
namedType
,
null
,
document
.
Project
.
Solution
,
cancellationToken
);
...
...
src/Workspaces/Core/Portable/FindSymbols/ReferenceLocation.cs
浏览文件 @
57662a07
...
...
@@ -11,7 +11,7 @@ namespace Microsoft.CodeAnalysis.FindSymbols
/// Information about a reference to a symbol.
/// </summary>
[
DebuggerDisplay
(
"{GetDebuggerDisplay(),nq}"
)]
public
struct
ReferenceLocation
:
IComparable
<
ReferenceLocation
>,
IEquatable
<
ReferenceLocation
>
public
readonly
struct
ReferenceLocation
:
IComparable
<
ReferenceLocation
>,
IEquatable
<
ReferenceLocation
>
{
/// <summary>
/// The document that the reference was found in.
...
...
@@ -46,13 +46,6 @@ public struct ReferenceLocation : IComparable<ReferenceLocation>, IEquatable<Ref
/// </summary>
internal
SymbolUsageInfo
SymbolUsageInfo
{
get
;
}
/// <summary>
/// Indicates if this location is a duplicate of some another ReferenceLocation.
/// In this case, it's acceptable for a presenter to not show this location and
/// intead prefer the latter.
/// </summary>
internal
bool
IsDuplicateReferenceLocation
;
public
CandidateReason
CandidateReason
{
get
;
}
internal
ReferenceLocation
(
Document
document
,
IAliasSymbol
alias
,
Location
location
,
bool
isImplicit
,
SymbolUsageInfo
symbolUsageInfo
,
CandidateReason
candidateReason
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录