コード例 #1
0
        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));
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        // 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));
        }