private static async Task <bool> IsGeneratedAsync(string content, GeneratedCodeRecognizer generatedCodeRecognizer) { using (var workspace = new AdhocWorkspace()) { var document = workspace.CurrentSolution.AddProject("foo", "foo.dll", LanguageNames.CSharp) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("mscorlib.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.Core.dll"))) .AddDocument("Foo.cs", content); var compilation = document.Project.GetCompilationAsync().Result; var tree = await document.GetSyntaxTreeAsync(); return(tree.IsGenerated(generatedCodeRecognizer, compilation)); } }
private static void VerifyEmpty(string name, string content, DiagnosticAnalyzer diagnosticAnalyzer) { using (var workspace = new AdhocWorkspace()) { var document = workspace.CurrentSolution.AddProject("foo", "foo.dll", LanguageNames.CSharp) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("mscorlib.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.Core.dll"))) .AddDocument(name, content); var compilation = document.Project.GetCompilationAsync().Result; var diagnostics = Verifier.GetDiagnostics(compilation, diagnosticAnalyzer); diagnostics.Should().HaveCount(0); } }
public void Compile() { using (var workspace = new AdhocWorkspace()) { var document = workspace.CurrentSolution.AddProject("foo", "foo.dll", LanguageNames.CSharp) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("mscorlib.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.Core.dll"))) .AddDocument("test", TestInput); var compilation = document.Project.GetCompilationAsync().Result; var tree = compilation.SyntaxTrees.First(); semanticModel = compilation.GetSemanticModel(tree); statements = tree.GetRoot().DescendantNodes() .OfType <MethodDeclarationSyntax>() .First(m => m.Identifier.ValueText == "TestMethod").Body .DescendantNodes() .OfType <StatementSyntax>().ToList(); } }
public void Compile() { using (var workspace = new AdhocWorkspace()) { var document = workspace.CurrentSolution.AddProject("foo", "foo.dll", LanguageNames.CSharp) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("mscorlib.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.dll"))) .AddMetadataReference(AssemblyReferenceService.GetMetadataReference(AssemblyReference.FromFramework("System.Core.dll"))) .AddDocument("test", SymbolHelperTest.TestInput); var compilation = document.Project.GetCompilationAsync().Result; var tree = compilation.SyntaxTrees.First(); semanticModel = compilation.GetSemanticModel(tree); baseClassDeclaration = tree.GetRoot().DescendantNodes().OfType <ClassDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Base"); derivedClassDeclaration1 = tree.GetRoot().DescendantNodes().OfType <ClassDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Derived1"); derivedClassDeclaration2 = tree.GetRoot().DescendantNodes().OfType <ClassDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Derived2"); } }