Exemplo n.º 1
0
        protected override SyntaxNode addModules(SyntaxNode root, IEnumerable <string> modules)
        {
            var compilationUnit = root.AncestorsAndSelf()
                                  .Where(a => a is CompilationUnitSyntax)
                                  .Select(a => a as CompilationUnitSyntax)
                                  .FirstOrDefault()
                                  ?? CSharp.CompilationUnit()
                                  .WithMembers(CSharp.List(new[] {
                (MemberDeclarationSyntax)root
            }));

            return(compilationUnit
                   .WithUsings(CSharp.List(
                                   compilationUnit.Usings.Union(
                                       modules
                                       .Select(module => CSharp
                                               .UsingDirective(CSharp
                                                               .ParseName(module))
                                               .WithTrailingTrivia(CSharp.EndOfLine(string.Empty))))))
                   ?? root);
        }