コード例 #1
0
        private static PropertyDeclarationSyntax CreatePropertyDeclaration_Group(GroupEntry group)
        {
            var type       = group.Type;
            var identifier = group.Identifier;
            var comment    = SyntaxFactoryUtils.Comment("// Group: {0}", group.Name);

            return(SyntaxFactoryUtils.PropertyDeclaration(type, identifier, SyntaxFactoryUtils.ObjectCreationExpression(type)).WithTrailingTrivia(comment));
        }
コード例 #2
0
        private static PropertyDeclarationSyntax CreatePropertyDeclaration_Module(ModuleEntry module)
        {
            var type       = module.Type;
            var identifier = module.Identifier;
            var comment    = SyntaxFactoryUtils.Comment("// Module: {0}", module.Name);

            return(SyntaxFactoryUtils.PropertyDeclaration(type, identifier, SyntaxFactoryUtils.ObjectCreationExpression(type)).WithTrailingTrivia(comment));
        }
コード例 #3
0
        private static PropertyDeclarationSyntax CreatePropertyDeclaration_Namespace(NamespaceEntry @namespace)
        {
            var type       = @namespace.Type;
            var identifier = @namespace.Identifier;
            var comment    = SyntaxFactoryUtils.Comment("// Namespace: {0}", @namespace.Name);

            return(SyntaxFactoryUtils.PropertyDeclaration(type, identifier, SyntaxFactoryUtils.ObjectCreationExpression(type)).WithTrailingTrivia(comment));
        }
コード例 #4
0
        private static PropertyDeclarationSyntax CreatePropertyDeclaration_Type(TypeEntry type)
        {
            var type_      = type.Type;
            var identifier = type.Identifier;
            var comment    = SyntaxFactoryUtils.Comment("// Type: {0}", type.Name);

            return(SyntaxFactoryUtils.PropertyDeclaration("TypeArchNode", identifier, SyntaxFactoryUtils.TypeOfExpression(type_)).WithTrailingTrivia(comment));
        }
コード例 #5
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));
        }
コード例 #6
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));
        }
コード例 #7
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));
        }
コード例 #8
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));
        }