public async Task SanityCheck(string text) { Document document = CreateDocument(text); Compilation compilation = await document.Project.GetCompilationAsync(); var walker = new ExceptionWalker(compilation, CancellationToken.None); var node = (CSharpSyntaxNode)await document.GetSyntaxRootAsync(); node.Accept(walker); walker.Locations.Should().BeEquivalentTo((Line: 13, Column: 4)); }
public async Task PropertyGetterConditionalAccess(string text) { Document document = CreateDocument(text); Compilation compilation = await document.Project.GetCompilationAsync(); var walker = new ExceptionWalker(compilation, CancellationToken.None); var node = (CSharpSyntaxNode)(await document.GetSyntaxRootAsync()).DescendantNodes() .OfType <ClassDeclarationSyntax>().First(); node.Accept(walker); walker.Locations.Should().BeEquivalentTo((Line: 14, Column: 16)); }
public async Task SeparateFiles(string text1, string text2) { Document document = CreateCSharpDocument(text1, text2); Compilation compilation = await document.Project.GetCompilationAsync(); var walker = new ExceptionWalker(compilation, CancellationToken.None); var node = (CSharpSyntaxNode)(await document.GetSyntaxRootAsync()).DescendantNodes() .OfType <ClassDeclarationSyntax>().First(n => n.Identifier.Text == "Foo"); node.Accept(walker); walker.Locations.Should().BeEquivalentTo((Line: 14, Column: 4)); }
public async Task Property_ShouldNotFindAnything(string text) { Document document = CreateDocument(text); Compilation compilation = await document.Project.GetCompilationAsync(); var walker = new ExceptionWalker(compilation, CancellationToken.None); var node = (CSharpSyntaxNode)(await document.GetSyntaxRootAsync()).DescendantNodes() .OfType <ClassDeclarationSyntax>().First(); node.Accept(walker); walker.Locations.Should().BeEmpty(); }