Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET
Roslyn
提交
694fcf75
R
Roslyn
项目概览
dotNET
/
Roslyn
通知
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,发现更多精彩内容 >>
提交
694fcf75
编写于
6月 01, 2017
作者:
S
Sam Harwell
提交者:
GitHub
6月 01, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #19944 from sharwell/duplicate-event
Fix code generation for duplicate events
上级
e758b536
a66f4cbc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
42 addition
and
4 deletion
+42
-4
src/EditorFeatures/Test2/NavigationBar/TestHelpers.vb
src/EditorFeatures/Test2/NavigationBar/TestHelpers.vb
+8
-2
src/EditorFeatures/Test2/NavigationBar/VisualBasicNavigationBarTests.vb
...ures/Test2/NavigationBar/VisualBasicNavigationBarTests.vb
+29
-0
src/EditorFeatures/VisualBasic/NavigationBar/AbstractGenerateCodeItem.vb
...res/VisualBasic/NavigationBar/AbstractGenerateCodeItem.vb
+3
-0
src/EditorFeatures/VisualBasic/NavigationBar/GenerateEventHandlerItem.vb
...res/VisualBasic/NavigationBar/GenerateEventHandlerItem.vb
+2
-2
未找到文件。
src/EditorFeatures/Test2/NavigationBar/TestHelpers.vb
浏览文件 @
694fcf75
...
...
@@ -55,7 +55,13 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.NavigationBar
End
Using
End
Function
Public
Async
Function
AssertGeneratedResultIsAsync
(
workspaceElement
As
XElement
,
leftItemToSelectText
As
String
,
rightItemToSelectText
As
String
,
expectedText
As
XElement
)
As
Tasks
.
Task
Public
Function
AssertGeneratedResultIsAsync
(
workspaceElement
As
XElement
,
leftItemToSelectText
As
String
,
rightItemToSelectText
As
String
,
expectedText
As
XElement
)
As
Tasks
.
Task
Dim
selectRightItem
As
Func
(
Of
IList
(
Of
NavigationBarItem
),
NavigationBarItem
)
selectRightItem
=
Function
(
items
)
items
.
Single
(
Function
(
i
)
i
.
Text
=
rightItemToSelectText
)
Return
AssertGeneratedResultIsAsync
(
workspaceElement
,
leftItemToSelectText
,
selectRightItem
,
expectedText
)
End
Function
Public
Async
Function
AssertGeneratedResultIsAsync
(
workspaceElement
As
XElement
,
leftItemToSelectText
As
String
,
selectRightItem
As
Func
(
Of
IList
(
Of
NavigationBarItem
),
NavigationBarItem
),
expectedText
As
XElement
)
As
Tasks
.
Task
Using
workspace
=
TestWorkspace
.
Create
(
workspaceElement
)
Dim
document
=
workspace
.
CurrentSolution
.
Projects
.
First
().
Documents
.
First
()
Dim
snapshot
=
(
Await
document
.
GetTextAsync
()).
FindCorrespondingEditorTextSnapshot
()
...
...
@@ -66,7 +72,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.NavigationBar
items
.
Do
(
Sub
(
i
)
i
.
InitializeTrackingSpans
(
snapshot
))
Dim
leftItem
=
items
.
Single
(
Function
(
i
)
i
.
Text
=
leftItemToSelectText
)
Dim
rightItem
=
leftItem
.
ChildItems
.
Single
(
Function
(
i
)
i
.
Text
=
rightItemToSelectText
)
Dim
rightItem
=
selectRightItem
(
leftItem
.
ChildItems
)
Dim
contextLocation
=
(
Await
document
.
GetSyntaxTreeAsync
()).
GetLocation
(
New
TextSpan
(
0
,
0
))
Dim
generateCodeItem
=
DirectCast
(
rightItem
,
AbstractGenerateCodeItem
)
...
...
src/EditorFeatures/Test2/NavigationBar/VisualBasicNavigationBarTests.vb
浏览文件 @
694fcf75
...
...
@@ -744,6 +744,35 @@ Class C
Private
Sub
Rem_E
()
Handles
[
Rem].E
End
Sub
End
Class
</
Result
>
)
End
Function
<
WpfFact
>
<
WorkItem
(
18792
,
"https://github.com/dotnet/roslyn/issues/18792"
)
>
<
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
NavigationBar
)
>
Public
Async
Function
TestGenerateEventHandlerWithDuplicate
()
As
Task
Await
AssertGeneratedResultIsAsync
(
<
Workspace
>
<
Project
Language
=
"Visual Basic"
CommonReferences
=
"true"
>
<
Document
>
Public
Class
ExampleClass
Public
Event
ExampleEvent
()
Public
Event
ExampleEvent
()
End
Class
</
Document
>
</
Project
>
</
Workspace
>
,
"(ExampleClass Events)"
,
Function
(
items
)
items
.
First
(
Function
(
i
)
i
.
Text
=
"ExampleEvent"
),
<
Result
>
Public
Class
ExampleClass
Public
Event
ExampleEvent
()
Public
Event
ExampleEvent
()
Private
Sub
ExampleClass_ExampleEvent
()
Handles
Me
.
ExampleEvent
End
Sub
End
Class
</
Result
>
)
...
...
src/EditorFeatures/VisualBasic/NavigationBar/AbstractGenerateCodeItem.vb
浏览文件 @
694fcf75
...
...
@@ -32,6 +32,9 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.NavigationBar
Dim
codeGenerationOptions
As
New
CodeGenerationOptions
(
contextLocation
,
generateMethodBodies
:
=
True
)
Dim
newDocument
=
Await
GetGeneratedDocumentCoreAsync
(
document
,
codeGenerationOptions
,
cancellationToken
).
ConfigureAwait
(
False
)
If
newDocument
Is
Nothing
Then
Return
document
End
If
newDocument
=
Simplifier
.
ReduceAsync
(
newDocument
,
Simplifier
.
Annotation
,
Nothing
,
cancellationToken
).
WaitAndGetResult
(
cancellationToken
)
...
...
src/EditorFeatures/VisualBasic/NavigationBar/GenerateEventHandlerItem.vb
浏览文件 @
694fcf75
...
...
@@ -25,8 +25,8 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.NavigationBar
Protected
Overrides
Async
Function
GetGeneratedDocumentCoreAsync
(
document
As
Document
,
codeGenerationOptions
As
CodeGenerationOptions
,
cancellationToken
As
CancellationToken
)
As
Task
(
Of
Document
)
Dim
compilation
=
Await
document
.
Project
.
GetCompilationAsync
(
cancellationToken
).
ConfigureAwait
(
False
)
Dim
eventSymbol
=
TryCast
(
_eventSymbolKey
.
Resolve
(
compilation
).
Symbol
,
IEventSymbol
)
Dim
destinationType
=
TryCast
(
_destinationTypeSymbolKey
.
Resolve
(
compilation
).
Symbol
,
INamedTypeSymbol
)
Dim
eventSymbol
=
TryCast
(
_eventSymbolKey
.
Resolve
(
compilation
).
GetAnySymbol
()
,
IEventSymbol
)
Dim
destinationType
=
TryCast
(
_destinationTypeSymbolKey
.
Resolve
(
compilation
).
GetAnySymbol
()
,
INamedTypeSymbol
)
If
eventSymbol
Is
Nothing
OrElse
destinationType
Is
Nothing
Then
Return
Nothing
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录