// Project public static ClassDeclarationSyntax CreateClassDeclaration_Project(ClassDeclarationSyntax @class, ProjectInfo project) { var comment = SyntaxFactoryUtils.Comment("// Project: {0}", project.Name); var name = CreatePropertyDeclaration_Name(project.Name); var properties = project.Modules.Select(CreatePropertyDeclaration_Module).ToArray(); return (SyntaxFactoryUtils.ClassDeclaration(@class) .WithLeadingTrivia(SyntaxFactoryUtils.EndOfLine(), comment) .AddMembers(name) .AddMembers(properties)); }
// Module public static ClassDeclarationSyntax CreateClassDeclaration_Module(ClassDeclarationSyntax @class, ModuleInfo module) { var comment = SyntaxFactoryUtils.Comment("// Module: {0}", module.Name); var name = CreatePropertyDeclaration_Name(module.Name); var properties = module.Namespaces.Select(CreatePropertyDeclaration_Namespace).ToArray(); var classes = module.Namespaces.Select(CreateClassDeclaration_Namespace).ToArray(); return (SyntaxFactoryUtils.ClassDeclaration(@class) .WithLeadingTrivia(SyntaxFactoryUtils.EndOfLine(), comment) .AddMembers(name) .AddMembers(properties) .AddMembers(classes)); }