Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
23497c53
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,发现更多精彩内容 >>
提交
23497c53
编写于
4月 27, 2017
作者:
R
Ravi Chande
提交者:
GitHub
4月 27, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #18829 from rchande/fix18006
Include generic interfaces in implements clause completion
上级
05eb4143
71e36bda
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
60 addition
and
3 deletion
+60
-3
src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/ImplementsClauseCompletionProviderTests.vb
...etionProviders/ImplementsClauseCompletionProviderTests.vb
+55
-0
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImplementsClauseCompletionProvider.vb
...CompletionProviders/ImplementsClauseCompletionProvider.vb
+5
-3
未找到文件。
src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/ImplementsClauseCompletionProviderTests.vb
浏览文件 @
23497c53
...
...
@@ -739,5 +739,60 @@ Class B
Await
VerifyNoItemsExistAsync
(
text
)
End
Function
<
WorkItem
(
18006
,
"https://github.com/dotnet/roslyn/issues/18006"
)
>
<
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Completion
)
>
Public
Async
Function
ShowGenericTypes
()
As
Task
Dim
text
=
<
text
>
Interface
I
(
Of
T
)
Sub
Foo
()
End
Interface
Class
B
Implements
I
(
Of
Integer
)
Public
Sub
Foo
()
Implements
$$
</
text
>
.
Value
Await
VerifyItemExistsAsync
(
text
,
"I(Of Integer)"
)
End
Function
<
WorkItem
(
18006
,
"https://github.com/dotnet/roslyn/issues/18006"
)
>
<
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Completion
)
>
Public
Async
Function
ShowGenericTypes2
()
As
Task
Dim
text
=
<
text
>
Interface
I
(
Of
T
)
Sub
Foo
()
End
Interface
Class
B
(
Of
T
)
Implements
I
(
Of
T
)
Public
Sub
Foo
()
Implements
$$
End
Sub
End
Class
</
text
>
.
Value
Await
VerifyItemExistsAsync
(
text
,
"I(Of T)"
)
End
Function
<
WorkItem
(
18006
,
"https://github.com/dotnet/roslyn/issues/18006"
)
>
<
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Completion
)
>
Public
Async
Function
ShowGenericTypes3
()
As
Task
Dim
text
=
<
text
>
Interface
I
(
Of
T
)
Sub
Foo
()
End
Interface
Class
B
(
Of
T
)
Implements
I
(
Of
Integer
)
Public
Sub
Foo
()
Implements
End
Sub
End
Class
</
text
>
.
Value
Await
VerifyItemExistsAsync
(
text
,
"I(Of T)"
)
End
Function
End
Class
End
Namespace
\ No newline at end of file
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImplementsClauseCompletionProvider.vb
浏览文件 @
23497c53
...
...
@@ -162,7 +162,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
End
If
Dim
interfaceWithUnimplementedMembers
=
containingType
.
GetAllUnimplementedMembersInThis
(
containingType
.
Interfaces
,
AddressOf
interfaceMemberGetter
,
cancellationToken
)
_
.
Where
(
Function
(
i
)
i
.
Item2
.
Any
(
Function
(
s
)
MatchesMemberKind
(
s
,
kind
)))
_
.
Where
(
Function
(
i
)
i
.
Item2
.
Any
(
Function
(
interfaceOrContainer
)
MatchesMemberKind
(
interfaceOrContainer
,
kind
)))
_
.
Select
(
Function
(
i
)
i
.
Item1
)
Dim
interfacesAndContainers
=
New
HashSet
(
Of
ISymbol
)(
interfaceWithUnimplementedMembers
)
...
...
@@ -170,9 +170,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
AddAliasesAndContainers
(
i
,
interfacesAndContainers
,
node
,
semanticModel
)
Next
Dim
symbols
=
semanticModel
.
LookupSymbols
(
position
)
Dim
symbols
=
New
HashSet
(
Of
ISymbol
)(
semanticModel
.
LookupSymbols
(
position
))
Dim
availableInterfacesAndContainers
=
interfacesAndContainers
.
Where
(
Function
(
interfaceOrContainer
)
symbols
.
Contains
(
interfaceOrContainer
.
OriginalDefinition
)).
ToImmutableArray
()
Dim
result
=
TryAddGlobalTo
(
interfacesAndContainers
.
Intersect
(
symbols
.
ToArray
()).
ToImmutableArray
()
)
Dim
result
=
TryAddGlobalTo
(
availableInterfacesAndContainers
)
' Even if there's not anything left to implement, we'll show the list of interfaces,
' the global namespace, and the project root namespace (if any), as long as the class implements something.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录