示例#1
0
 protected sealed override FileMetadataInfo CreateMessage(SyntaxTree syntaxTree, SemanticModel semanticModel) =>
 new FileMetadataInfo
 {
     FilePath    = syntaxTree.FilePath,
     IsGenerated = GeneratedCodeRecognizer.IsGenerated(syntaxTree),
     Encoding    = syntaxTree.Encoding?.WebName.ToLowerInvariant() ?? string.Empty
 };
示例#2
0
 protected sealed override FileMetadataInfo GetMessage(SyntaxTree syntaxTree, SemanticModel semanticModel)
 {
     return(new FileMetadataInfo
     {
         FilePath = syntaxTree.FilePath,
         IsGenerated = GeneratedCodeRecognizer.IsGenerated(syntaxTree)
     });
 }
示例#3
0
        private static bool IsGenerated(string content, GeneratedCodeRecognizer generatedCodeRecognizer)
        {
            var compilation = SolutionBuilder
                              .Create()
                              .AddProject(AnalyzerLanguage.CSharp, createExtraEmptyFile: false)
                              .AddSnippet(content)
                              .GetCompilation();

            var tree = compilation.SyntaxTrees.First();

            return(tree.IsGenerated(generatedCodeRecognizer, compilation));
        }
示例#4
0
        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(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
                               .AddMetadataReference(MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location))
                               .AddDocument("Foo.cs", content);

                var compilation = document.Project.GetCompilationAsync().Result;
                var tree        = await document.GetSyntaxTreeAsync();

                return(tree.IsGenerated(generatedCodeRecognizer, compilation));
            }
        }
        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));
            }
        }