提交 00f36c3c 编写于 作者: A AdamSpeight2008

Working Implementation of VisualBasicSyntaxFactServiceFactory.

上级 068a98b7
......@@ -690,16 +690,12 @@ End Property
var root = Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory.ParseCompilationUnit(code);
var property = root.FindToken(position).Parent.FirstAncestorOrSelf<Microsoft.CodeAnalysis.VisualBasic.Syntax.PropertyBlockSyntax>();
var memberId = _Facts.GetMethodLevelMemberId(root, property);
var memberId = Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxFactsServiceFactory.GetService().GetMethodLevelMemberId(root, property);
Assert.Equal(0, memberId);
}
[Import(nameof(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService))]
internal Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService _Facts { get; set; }
[Fact, WorkItem(739943, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/739943")]
public async Task SemanticChange_Propagation_Transitive()
{
......
......@@ -25,17 +25,13 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Diagnostics.Suppre
Await TestPragmaAsync(TestResource.AllInOneVisualBasicCode, VisualBasicParseOptions.Default, verifier:=Function(t) t.IndexOf("#Disable Warning", StringComparison.Ordinal) >= 0)
End Function
<Import(NameOf(VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService))>
Private Property _Facts As VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsSuppression)>
Public Async Function TestSuppressionWithAttributeOnEveryNodes() As Threading.Tasks.Task
Await TestSuppressionWithAttributeAsync(
TestResource.AllInOneVisualBasicCode,
VisualBasicParseOptions.Default,
digInto:=Function(n)
Dim member = _Facts.GetContainingMemberDeclaration(n, n.Span.Start)
Dim member = VisualBasicSyntaxFactsServiceFactory.GetService.GetContainingMemberDeclaration(n, n.Span.Start)
If member Is Nothing OrElse member Is n Then
Return True
End If
......
......@@ -192,6 +192,7 @@ private async Task<SuppressionTargetInfo> GetSuppressionTargetInfoAsync(Document
var nodeWithTokens = GetNodeWithTokens(startToken, endToken, root);
var semanticModel = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false);
var syntaxFacts = document.GetLanguageService<ISyntaxFactsService>();
ISymbol targetSymbol = null;
......
......@@ -238,8 +238,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Extensions
token)
End Function
<Import(NameOf(VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService))>
Private Property _Facts As VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService
Private ReadOnly Property _Facts As VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService = VisualBasicSyntaxFactsServiceFactory.GetService
<Extension>
Public Function IsWord(token As SyntaxToken) As Boolean
......
......@@ -16,28 +16,29 @@ Imports Microsoft.CodeAnalysis.VisualBasic.SyntaxFacts
Namespace Microsoft.CodeAnalysis.VisualBasic
<ExportLanguageServiceFactory(GetType(ILanguageServiceFactory), LanguageNames.VisualBasic), [Shared]>
<ExportLanguageServiceFactory(GetType(ISyntaxFactsService), LanguageNames.VisualBasic), [Shared]>
Public Class VisualBasicSyntaxFactsServiceFactory
Implements ILanguageServiceFactory
Private Shared ReadOnly Property Instance As New VisualBasicSyntaxFactsService
Public Sub New()
End Sub
Public Function CreateLanguageService(languageServices As HostLanguageServices) As ILanguageService Implements ILanguageServiceFactory.CreateLanguageService
Return New VisualBasicSyntaxFactsService(languageServices)
Return Instance
End Function
Friend Shared Function GetService() As VisualBasicSyntaxFactsService
Return Instance
End Function
<ExportLanguageService(GetType(ISyntaxFactsService), LanguageNames.VisualBasic), [Shared]>
Friend Class VisualBasicSyntaxFactsService
Inherits AbstractSyntaxFactsService
Implements ISyntaxFactsService
Implements ISyntaxFactsService, ILanguageService
Friend Sub New(LanguageService As HostLanguageServices)
Me.LanguageServices = LanguageServices
Friend Sub New()
End Sub
Private ReadOnly Property LanguageServices As HostLanguageServices
Public Function IsAwaitKeyword(token As SyntaxToken) As Boolean Implements ISyntaxFactsService.IsAwaitKeyword
Return token.Kind = SyntaxKind.AwaitKeyword
End Function
......
......@@ -222,12 +222,11 @@ End Class"))
MarkupTestFile.GetSpan(markup, code, span)
Dim tree = SyntaxFactory.ParseSyntaxTree(code)
Dim node = tree.GetRoot().FindNode(span)
Dim service = _Facts
Dim service = VisualBasicSyntaxFactsServiceFactory.GetService
Return service.IsMethodLevelMember(node)
End Function
<Import(GetType(Microsoft.CodeAnalysis.LanguageServices.ISyntaxFactsService))>
Private Property _Facts As VisualBasicSyntaxFactsServiceFactory.VisualBasicSyntaxFactsService
End Class
End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册