Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
9daa5c18
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,发现更多精彩内容 >>
提交
9daa5c18
编写于
8月 30, 2017
作者:
R
Ravi Chande
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CR feedback
上级
b1398cf1
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
10 addition
and
9 deletion
+10
-9
src/EditorFeatures/CSharpTest/Completion/CompletionProviders/OverrideCompletionProviderTests.cs
...on/CompletionProviders/OverrideCompletionProviderTests.cs
+4
-5
src/Features/Core/Portable/Completion/Providers/AbstractMemberInsertingCompletionProvider.cs
...on/Providers/AbstractMemberInsertingCompletionProvider.cs
+4
-2
src/Features/Core/Portable/Completion/Providers/AbstractOverrideCompletionProvider.ItemGetter.cs
...roviders/AbstractOverrideCompletionProvider.ItemGetter.cs
+2
-2
未找到文件。
src/EditorFeatures/CSharpTest/Completion/CompletionProviders/OverrideCompletionProviderTests.cs
浏览文件 @
9daa5c18
...
...
@@ -2666,7 +2666,7 @@ public class Class1
</Project>
</Workspace>"
);
// P3 has a
P2P
ref to Project P2 and uses the type "Missing" from P2
// P3 has a
project
ref to Project P2 and uses the type "Missing" from P2
// as the return type of a virtual method.
// P1 has a metadata reference to P3 and therefore doesn't get the transitive
// reference to P2. If we try to override Goo, the missing "Missing" type will
...
...
@@ -2675,10 +2675,9 @@ public class Class1
{
var
compilation
=
await
workspace
.
CurrentSolution
.
Projects
.
First
(
p
=>
p
.
Name
==
"P3"
).
GetCompilationAsync
();
// CompilationExtensions is in the M
S.CA.Test.Utilities namespace which has a "Traits" type that conflicts with the one in
// Roslyn.Test.Utilities
// CompilationExtensions is in the M
icrosoft.CodeAnalysis.Test.Utilities namespace
//
which has a "Traits" type that conflicts with the one in
Roslyn.Test.Utilities
var
reference
=
MetadataReference
.
CreateFromImage
(
Test
.
Utilities
.
CompilationExtensions
.
EmitToArray
(
compilation
));
var
p1
=
workspace
.
CurrentSolution
.
Projects
.
First
(
p
=>
p
.
Name
==
"P1"
);
var
updatedP1
=
p1
.
AddMetadataReference
(
reference
);
workspace
.
ChangeSolution
(
updatedP1
.
Solution
);
...
...
src/Features/Core/Portable/Completion/Providers/AbstractMemberInsertingCompletionProvider.cs
浏览文件 @
9daa5c18
...
...
@@ -104,7 +104,9 @@ private async Task<Document> DetermineNewDocumentAsync(Document document, Comple
var
memberContainingDocument
=
await
GenerateMemberAndUsingsAsync
(
document
,
completionItem
,
line
,
cancellationToken
).
ConfigureAwait
(
false
);
if
(
memberContainingDocument
==
null
)
{
// Generating the new document failed, return no changes.
// Generating the new document failed because we somehow couldn't resolve
// the underlying symbol's SymbolKey. At this point, we won't be able to
// make any changes, so just return the document we started with.
return
document
;
}
...
...
@@ -141,7 +143,7 @@ private async Task<Document> DetermineNewDocumentAsync(Document document, Comple
if
(
overriddenMember
==
null
)
{
// Unfortunately, SymbolKey resolution failed.
We have to b
ail.
// Unfortunately, SymbolKey resolution failed.
B
ail.
return
null
;
}
...
...
src/Features/Core/Portable/Completion/Providers/AbstractOverrideCompletionProvider.ItemGetter.cs
浏览文件 @
9daa5c18
...
...
@@ -91,13 +91,13 @@ internal async Task<IEnumerable<CompletionItem>> GetItemsAsync()
overridableMembers
=
_provider
.
FilterOverrides
(
overridableMembers
,
returnType
);
var
symbolDisplayService
=
_document
.
GetLanguageService
<
ISymbolDisplayService
>();
var
resolvableMembers
=
overridableMembers
.
Where
(
m
=>
Can
Serializ
eSymbolKey
(
m
,
semanticModel
.
Compilation
));
var
resolvableMembers
=
overridableMembers
.
Where
(
m
=>
Can
Resolv
eSymbolKey
(
m
,
semanticModel
.
Compilation
));
return
overridableMembers
.
Select
(
m
=>
CreateItem
(
m
,
symbolDisplayService
,
semanticModel
,
startToken
,
modifiers
)).
ToList
();
}
private
bool
Can
Serializ
eSymbolKey
(
ISymbol
m
,
Compilation
compilation
)
private
bool
Can
Resolv
eSymbolKey
(
ISymbol
m
,
Compilation
compilation
)
{
// SymbolKey doesn't guarantee roundtrip-ability, which we need in order to generate overrides.
// Preemptively filter out those methods whose SymbolKeys we won't be able to round trip.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录