private static ClassDeclarationSyntax CreateClassDeclaration_Group(GroupEntry group) { var comment = SyntaxFactoryUtils.Comment("// Group: {0}", group.Name); var name = CreatePropertyDeclaration_Name(group.Name); var properties = group.Types.Select(CreatePropertyDeclaration_Type).ToArray(); return (SyntaxFactoryUtils.ClassDeclaration(group.Type, "GroupArchNode") .WithLeadingTrivia(comment) .AddMembers(name) .AddMembers(properties)); }
// 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)); }
private static ClassDeclarationSyntax CreateClassDeclaration_Namespace(NamespaceEntry @namespace) { var comment = SyntaxFactoryUtils.Comment("// Namespace: {0}", @namespace.Name); var name = CreatePropertyDeclaration_Name(@namespace.Name); var properties = @namespace.Groups.Select(CreatePropertyDeclaration_Group).ToArray(); var classes = @namespace.Groups.Select(CreateClassDeclaration_Group).ToArray(); return (SyntaxFactoryUtils.ClassDeclaration(@namespace.Type, "NamespaceArchNode") .WithLeadingTrivia(comment) .AddMembers(name) .AddMembers(properties) .AddMembers(classes)); }
// 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)); }