Inheritance: TextGenerator
Ejemplo n.º 1
0
        public void WriteGeneratorToFile(string fileName, Generator gen)
        {
            if (string.IsNullOrEmpty(OutputDir))
                OutputDir = ".";

            var filePath = Path.GetFullPath(OutputDir);
            if(!fileName.EndsWith(".cs"))
                fileName = string.Format("{0}.cs", fileName);

            filePath = Path.Combine(filePath, fileName);
            File.WriteAllText(filePath, gen.ToString());
            GeneratedFiles.Add(filePath);

            Console.WriteLine("Generated '{0}'", fileName);
        }
Ejemplo n.º 2
0
 public void WriteGeneratorToFile(Type type, Generator gen)
 {
     WriteGeneratorToFile(type.FullName, gen);
 }
Ejemplo n.º 3
0
        private void WriteDelegates()
        {
            var gen = new Generator(Assembly, GenerationContext);
            gen.GenerateDelegateClasses();

            apiWriter.WriteGeneratorToFile("Delegates", gen);
        }
Ejemplo n.º 4
0
        private void WriteDataObjectFactory()
        {
            var gen = new Generator(Assembly, GenerationContext);
            gen.GenerateDataObjectFactory();

            apiWriter.WriteGeneratorToFile("DataObjectFactory", gen);
        }
Ejemplo n.º 5
0
        private void ProcessService(Type type)
        {
            log.Debug("Service: {0}", type.Name);

            foreach (var method in type.GetMethods())
                log.Debug("  Method: {0}", method.Name);

            var gen = new Generator(type.Assembly, GenerationContext);
            gen.GenerateService(type);

            apiWriter.WriteGeneratorToFile(type, gen);
        }
Ejemplo n.º 6
0
        private void ProcessException(Type type)
        {
            log.Debug("Exception: {0}", type.Name);

            foreach (var field in type.GetFields())
                log.Debug("  Field: {0}", field.Name);

            var gen = new Generator(type.Assembly, GenerationContext);
            gen.GenerateDataObject(type);

            apiWriter.WriteGeneratorToFile(type, gen);
        }