提交 c0064fc0 编写于 作者: R Ravi Chande

Merge pull request #3120 from rchande/colorcolor

Handle "Color color" from VB completion

Fixes #3086
......@@ -5826,7 +5826,7 @@ End Class
End Sub
<WorkItem(33, "https://github.com/dotnet/roslyn/issues/33")>
<Fact, Trait(Traits.Feature, Traits.Features.Completion)>
<Fact, Trait(Traits.Feature, Traits.Features.Completion)>
Public Sub NoCompletionForConditionalAccessOnTypes1()
Dim text =
<code><![CDATA[
......@@ -5871,5 +5871,51 @@ End Module
VerifyNoItemsExist(text)
End Sub
<WorkItem(3086, "https://github.com/dotnet/roslyn/issues/3086")>
<Fact, Trait(Traits.Feature, Traits.Features.Completion)>
Public Sub SharedMembersOffInstanceInColorColor()
Dim text =
<code><![CDATA[
Module Program
Sub Main(args As String())
Dim x = C.$$
End Sub
Dim C As New C()
End Module
Class C
Public X As Integer = 1
Public Shared Y As Integer = 2
End Class
]]></code>.Value
VerifyItemExists(text, "X")
VerifyItemExists(text, "Y")
End Sub
<WorkItem(3086, "https://github.com/dotnet/roslyn/issues/3086")>
<Fact, Trait(Traits.Feature, Traits.Features.Completion)>
Public Sub NotSharedMembersOffAliasInColorColor()
Dim text =
<code><![CDATA[
Imports B = C
Module Program
Sub Main(args As String())
Dim x = B.$$
End Sub
Dim B As New B()
End Module
Class C
Public X As Integer = 1
Public Shared Y As Integer = 2
End Class
]]></code>.Value
VerifyItemExists(text, "X")
VerifyItemIsAbsent(text, "Y")
End Sub
End Class
End Namespace
\ No newline at end of file
......@@ -250,6 +250,14 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Recommendations
End If
End Select
' Check for color color
Dim speculativeTypeBinding = context.SemanticModel.GetSpeculativeTypeInfo(context.Position, leftExpression, SpeculativeBindingOption.BindAsTypeOrNamespace)
Dim speculativeAliasBinding = context.SemanticModel.GetSpeculativeAliasInfo(context.Position, leftExpression, SpeculativeBindingOption.BindAsTypeOrNamespace)
If speculativeAliasBinding Is Nothing AndAlso firstSymbol.GetSymbolType() Is speculativeTypeBinding.Type Then
excludeShared = False
excludeInstance = False
End If
If inNameOfExpression Then
excludeInstance = False
End If
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册