public BeginCodeFile ( Stream output ) : void | ||
output | Stream | |
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(); }