CIAPI.CodeGenerator.Program.Main C# (CSharp) Method

Main() private static method

private static Main ( string args ) : void
args string
return void
        private static void Main(string[] args)
        {
            var opt = new Options();
            var cmdParser = new CommandLineParser(new CommandLineParserSettings(Console.Error));
            if (!cmdParser.ParseArguments(args, opt))
            {
                // #TODO: usage; if this tool is to be developed further
                Environment.Exit(1);
            }


            string schemaJson = File.ReadAllText(opt.InputFile);
            bool flattenHierarchy = opt.FlattenHierarchy;
            string nspace = opt.NSpace;


            var lang = opt.Language;

            SchemaParser schemaParser;

            switch (lang)
            {
                case Lang.CS:
                    var imports = opt.Imports == null ? new string[] { } : opt.Imports.Split(',');
                    schemaParser = new CSharpSchemaParser(schemaJson, imports, nspace);
                    break;
                case Lang.JS:
                    schemaParser = new JsSchemaParser(schemaJson);
                    break;
                default:
                    throw new Exception("unrecognized language option");
            }


            var output = new FileStream(opt.OutputFile, FileMode.Create, FileAccess.Write);
            
            schemaParser.BeginCodeFile(output);
            schemaParser.EmitTypes(output, flattenHierarchy);
            schemaParser.EndCodeFile(output);

            output.Close();
        }
Program