Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
ccc3faa4
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,发现更多精彩内容 >>
提交
ccc3faa4
编写于
10月 29, 2019
作者:
G
Gen Lu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove debug code
上级
e9e030f1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
24 addition
and
45 deletion
+24
-45
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractExtensionMethodImportCompletionProvider.cs
...ovider/AbstractExtensionMethodImportCompletionProvider.cs
+14
-10
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractImportCompletionProvider.cs
...ortCompletionProvider/AbstractImportCompletionProvider.cs
+4
-8
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractTypeImportCompletionProvider.cs
...ompletionProvider/AbstractTypeImportCompletionProvider.cs
+6
-3
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/ExtensionMethodImportCompletionHelper.cs
...mpletionProvider/ExtensionMethodImportCompletionHelper.cs
+0
-24
未找到文件。
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractExtensionMethodImportCompletionProvider.cs
浏览文件 @
ccc3faa4
...
...
@@ -7,6 +7,7 @@
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.Internal.Log
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
using
Microsoft.CodeAnalysis.Shared.Extensions.ContextQuery
;
...
...
@@ -27,18 +28,21 @@ protected override bool ShouldProvideCompletion(Document document, SyntaxContext
bool
isExpandedCompletion
,
CancellationToken
cancellationToken
)
{
var
syntaxFacts
=
completionContext
.
Document
.
GetRequiredLanguageService
<
ISyntaxFactsService
>();
if
(
TryGetReceiverTypeSymbol
(
syntaxContext
,
syntaxFacts
,
out
var
receiverTypeSymbol
))
using
(
Logger
.
LogBlock
(
FunctionId
.
Completion_ExtensionMethodImportCompletionProvider_GetCompletionItemsAsync
,
cancellationToken
))
{
var
items
=
await
ExtensionMethodImportCompletionHelper
.
GetUnimportExtensionMethodsAsync
(
completionContext
.
Document
,
completionContext
.
Position
,
receiverTypeSymbol
,
namespaceInScope
,
isExpandedCompletion
,
cancellationToken
).
ConfigureAwait
(
false
);
var
syntaxFacts
=
completionContext
.
Document
.
GetRequiredLanguageService
<
ISyntaxFactsService
>();
if
(
TryGetReceiverTypeSymbol
(
syntaxContext
,
syntaxFacts
,
out
var
receiverTypeSymbol
))
{
var
items
=
await
ExtensionMethodImportCompletionHelper
.
GetUnimportExtensionMethodsAsync
(
completionContext
.
Document
,
completionContext
.
Position
,
receiverTypeSymbol
,
namespaceInScope
,
isExpandedCompletion
,
cancellationToken
).
ConfigureAwait
(
false
);
completionContext
.
AddItems
(
items
.
Select
(
Convert
));
completionContext
.
AddItems
(
items
.
Select
(
Convert
));
}
}
}
...
...
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractImportCompletionProvider.cs
浏览文件 @
ccc3faa4
...
...
@@ -11,7 +11,6 @@
using
Microsoft.CodeAnalysis.Editing
;
using
Microsoft.CodeAnalysis.Experiments
;
using
Microsoft.CodeAnalysis.Formatting
;
using
Microsoft.CodeAnalysis.Internal.Log
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.PooledObjects
;
using
Microsoft.CodeAnalysis.Shared
;
...
...
@@ -73,13 +72,10 @@ public override async Task ProvideCompletionsAsync(CompletionContext completionC
}
}
using
(
Logger
.
LogBlock
(
FunctionId
.
Completion_TypeImportCompletionProvider_GetCompletionItemsAsync
,
cancellationToken
))
{
// Find all namespaces in scope at current cursor location,
// which will be used to filter so the provider only returns out-of-scope types.
var
namespacesInScope
=
GetNamespacesInScope
(
document
,
syntaxContext
,
cancellationToken
);
await
AddCompletionItemsAsync
(
completionContext
,
syntaxContext
,
namespacesInScope
,
isExpandedCompletion
,
cancellationToken
).
ConfigureAwait
(
false
);
}
// Find all namespaces in scope at current cursor location,
// which will be used to filter so the provider only returns out-of-scope types.
var
namespacesInScope
=
GetNamespacesInScope
(
document
,
syntaxContext
,
cancellationToken
);
await
AddCompletionItemsAsync
(
completionContext
,
syntaxContext
,
namespacesInScope
,
isExpandedCompletion
,
cancellationToken
).
ConfigureAwait
(
false
);
}
private
HashSet
<
string
>
GetNamespacesInScope
(
Document
document
,
SyntaxContext
syntaxContext
,
CancellationToken
cancellationToken
)
...
...
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractTypeImportCompletionProvider.cs
浏览文件 @
ccc3faa4
...
...
@@ -10,6 +10,7 @@
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.Completion.Log
;
using
Microsoft.CodeAnalysis.Completion.Providers.ImportCompletion
;
using
Microsoft.CodeAnalysis.Internal.Log
;
using
Microsoft.CodeAnalysis.PooledObjects
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
using
Microsoft.CodeAnalysis.Shared.Extensions.ContextQuery
;
...
...
@@ -23,7 +24,8 @@ protected override bool ShouldProvideCompletion(Document document, SyntaxContext
protected
override
async
Task
AddCompletionItemsAsync
(
CompletionContext
completionContext
,
SyntaxContext
syntaxContext
,
HashSet
<
string
>
namespacesInScope
,
bool
isExpandedCompletion
,
CancellationToken
cancellationToken
)
{
using
var
telemetryCounter
=
new
TelemetryCounter
();
using
var
_
=
Logger
.
LogBlock
(
FunctionId
.
Completion_TypeImportCompletionProvider_GetCompletionItemsAsync
,
cancellationToken
);
var
telemetryCounter
=
new
TelemetryCounter
();
var
document
=
completionContext
.
Document
;
var
project
=
document
.
Project
;
...
...
@@ -77,6 +79,7 @@ protected override async Task AddCompletionItemsAsync(CompletionContext completi
}
telemetryCounter
.
ReferenceCount
=
referencedAssemblySymbols
.
Length
;
telemetryCounter
.
Report
();
return
;
...
...
@@ -132,7 +135,7 @@ static void AddItems(ImmutableArray<CompletionItem> items, CompletionContext com
}
}
private
class
TelemetryCounter
:
IDisposable
private
class
TelemetryCounter
{
protected
int
Tick
{
get
;
}
public
int
ItemsCount
{
get
;
set
;
}
...
...
@@ -144,7 +147,7 @@ public TelemetryCounter()
Tick
=
Environment
.
TickCount
;
}
public
void
Dispose
()
public
void
Report
()
{
var
delta
=
Environment
.
TickCount
-
Tick
;
CompletionProvidersLogger
.
LogTypeImportCompletionTicksDataPoint
(
delta
);
...
...
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/ExtensionMethodImportCompletionHelper.cs
浏览文件 @
ccc3faa4
...
...
@@ -54,12 +54,6 @@ internal static partial class ExtensionMethodImportCompletionHelper
counter
.
TotalExtensionMethodsProvided
=
serializableItems
.
Length
;
counter
.
Report
();
// TODO: remove this
Internal
.
Log
.
Logger
.
Log
(
Internal
.
Log
.
FunctionId
.
Completion_ExtensionMethodImportCompletionProvider_GetCompletionItemsAsync
,
Internal
.
Log
.
KeyValueLogMessage
.
Create
(
m
=>
{
m
[
"ExtMethodData"
]
=
counter
.
ToString
();
}));
return
serializableItems
;
}
...
...
@@ -469,24 +463,6 @@ internal sealed class StatisticCounter
public
int
TotalTypesChecked
;
public
int
TotalExtensionMethodsChecked
;
// TODO: remove
public
override
string
ToString
()
{
return
$@"
NoFilter :
{
NoFilter
}
TotalTicks:
{
TotalTicks
}
GetFilterTicks :
{
GetFilterTicks
}
GetSymbolTicks :
{
GetSymbolTicks
}
GetSymbolExtraTicks :
{
GetSymbolExtraTicks
}
TotalTypesChecked :
{
TotalTypesChecked
}
TotalExtensionMethodsChecked :
{
TotalExtensionMethodsChecked
}
TotalExtensionMethodsProvided :
{
TotalExtensionMethodsProvided
}
"
;
}
public
void
Report
()
{
if
(
NoFilter
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录