Ejemplo n.º 1
0
        private void GenerateStubClasses()
        {
            foreach (DOMEClass_Generated @class in this.GetDeepChildren <DOMEClass_Generated>())
            {
                CSTextDocument        document = new CSTextDocument();
                CSTextDocumentBuilder text     = document.CreateCSTextBuilder();
                CSTextDocumentWriter  code     = text.CreateWriterWithVariablePairs(
                    "NAMESPACE", settings.GetNamespaceName()
                    );

                code.Write("using System;");
                code.Write("using System.Collections;");
                code.Write("using System.Collections.Generic;");
                code.SkipLine();

                code.Write("using Crunchy.Dough;");
                code.Write("using Crunchy.Salt;");
                code.Write("using Crunchy.Noodle;");
                code.SkipLine();

                if (code.Write("namespace ?NAMESPACE", delegate() {
                    return(@class.GenerateStubClass(text));
                }))
                {
                    document.RenderDocument().SaveClass(settings.GetOutputDirectory(), @class.GetTypeName(), false);
                }
            }
        }
Ejemplo n.º 2
0
        private void GenerateMainFile()
        {
            CSTextDocument        document = new CSTextDocument();
            CSTextDocumentBuilder text     = document.CreateCSTextBuilder();
            CSTextDocumentWriter  code     = text.CreateWriterWithVariablePairs(
                "NAMESPACE", settings.GetNamespaceName()
                );

            code.Write("using System;");
            code.Write("using System.IO;");
            code.Write("using System.Collections;");
            code.Write("using System.Collections.Generic;");
            code.SkipLine();

            code.Write("using Crunchy.Dough;");
            code.Write("using Crunchy.Salt;");
            code.Write("using Crunchy.Noodle;");
            code.SkipLine();

            code.Write("using Antlr4.Runtime;");
            code.Write("using Antlr4.Runtime.Tree;");
            code.SkipLine();

            code.Write("namespace ?NAMESPACE", delegate() {
                this.GetDeepChildren <DOMEClass_Generated>().Process(g => g.GenerateMainClass(text));
            });

            document.RenderDocument().Save(settings.GetOutputDirectory(), GetMainFilename(), true);
        }