Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
aeb79748
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,发现更多精彩内容 >>
提交
aeb79748
编写于
8月 18, 2015
作者:
D
David Poeschl
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4305 from dpoeschl/FixTypeInferrerAfterInvocation
Fix VB TypeInferrer after ArgumentList
上级
41f25ab7
198b167b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
56 addition
and
1 deletion
+56
-1
src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/CompletionListTagCompletionProviderTests.vb
...tionProviders/CompletionListTagCompletionProviderTests.vb
+27
-0
src/EditorFeatures/VisualBasicTest/TypeInferrer/TypeInferrerTests.vb
...eatures/VisualBasicTest/TypeInferrer/TypeInferrerTests.vb
+15
-0
src/Workspaces/VisualBasic/Portable/LanguageServices/VisualBasicTypeInferenceService.TypeInferrer.vb
...eServices/VisualBasicTypeInferenceService.TypeInferrer.vb
+14
-1
未找到文件。
src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/CompletionListTagCompletionProviderTests.vb
浏览文件 @
aeb79748
...
...
@@ -368,6 +368,33 @@ End Class
VerifyNoItemsExist
(
markup
)
End
Sub
<
WorkItem
(
3518
,
"https://github.com/dotnet/roslyn/issues/3518"
)
>
<
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Completion
)
>
Public
Sub
NotAfterInvocationWithCompletionListTagTypeAsFirstParameter
()
Dim
markup
=
<
Text
><
!
[
CDATA
[
Class
C
Sub
Test
()
M
(
Type2
.
A
)
$$
End
Sub
Private
Sub
M
(
a
As
Type1
)
Throw
New
NotImplementedException
()
End
Sub
End
Class
''' <completionlist cref="Type2"/>
Public
Class
Type1
End
Class
Public
Class
Type2
Public
Shared
A
As
Type1
Public
Shared
B
As
Type1
End
Class
]]
></
Text
>
.
Value
VerifyNoItemsExist
(
markup
)
End
Sub
Friend
Overrides
Function
CreateCompletionProvider
()
As
CompletionListProvider
Return
New
CompletionListTagCompletionProvider
()
End
Function
...
...
src/EditorFeatures/VisualBasicTest/TypeInferrer/TypeInferrerTests.vb
浏览文件 @
aeb79748
...
...
@@ -710,5 +710,20 @@ Module M
End Module"
Test
(
text
,
"Global.System.Threading.Tasks.Task(Of System.Boolean)"
,
testPosition
:
=
True
)
End
Sub
<
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
TypeInferenceService
)
>
<
WorkItem
(
3518
,
"https://github.com/dotnet/roslyn/issues/3518"
)
>
Public
Sub
NoTypeAfterInvocationWithCompletionListTagTypeAsFirstParameter
()
Dim
text
=
"Class C
Sub Test()
M(5)
[|x|]
End Sub
Sub M(x As Integer)
End Sub
End Class"
Test
(
text
,
"System.Object"
,
testNode
:
=
False
,
testPosition
:
=
True
)
End
Sub
End
Class
End
Namespace
src/Workspaces/VisualBasic/Portable/LanguageServices/VisualBasicTypeInferenceService.TypeInferrer.vb
浏览文件 @
aeb79748
...
...
@@ -217,6 +217,10 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
index
=
GetArgumentListIndex
(
argumentList
,
previousToken
)
End
If
If
index
<
0
Then
Return
SpecializedCollections
.
EmptyEnumerable
(
Of
ITypeSymbol
)()
End
If
Dim
info
=
_semanticModel
.
GetSymbolInfo
(
invocation
)
' Check all the methods that have at least enough arguments to support being
' called with argument at this position. Note: if they're calling an extension
...
...
@@ -259,6 +263,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Else
index
=
GetArgumentListIndex
(
argumentList
,
previousToken
)
End
If
If
index
<
0
Then
Return
SpecializedCollections
.
EmptyEnumerable
(
Of
ITypeSymbol
)()
End
If
Dim
constructors
=
namedType
.
InstanceConstructors
.
Where
(
Function
(
m
)
m
.
Parameters
.
Length
>
index
)
Return
InferTypeInArgument
(
argumentOpt
,
index
,
constructors
)
End
If
...
...
@@ -279,6 +288,10 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
index
=
GetArgumentListIndex
(
argumentList
,
previousToken
)
End
If
If
index
<
0
Then
Return
SpecializedCollections
.
EmptyEnumerable
(
Of
ITypeSymbol
)()
End
If
Dim
info
=
_semanticModel
.
GetSymbolInfo
(
attribute
)
Dim
symbols
=
info
.
GetBestOrAllSymbols
()
If
symbols
.
Any
()
Then
...
...
@@ -838,7 +851,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End
If
Dim
index
=
argumentList
.
Arguments
.
GetWithSeparators
().
IndexOf
(
previousToken
)
Return
(
index
+
1
)
\
2
Return
If
(
index
>=
0
,
(
index
+
1
)
\
2
,
-
1
)
End
Function
Private
Function
InferTypeInCollectionInitializerExpression
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录