protected DocumentContext(Uri uri, string @namespace, GeneratorConfig generatorConfig, TypeRegistry typeRegistry, ITypeMangler typeMangler) { Document = IdlParser.BuildDocument(uri); Namespace = @namespace; _uri = uri; _generatorConfig = generatorConfig; TypeRegistry = typeRegistry; TypeMangler = typeMangler; TypeConverter = new TypeConverter(typeRegistry, @namespace, CodeNamespace, TypeMangler); }
//config value change at runtime? protected Generator(GeneratorConfig generatorConfig, IDictionary <string, IList <string> > templates) { if (!templates.ContainsKey(generatorConfig.CodeFlavor)) { throw new ArgumentException(string.Format("Templating type {0} is unknown!", generatorConfig.CodeFlavor)); } _generatorConfig = generatorConfig; _outputFolder = generatorConfig.OutputFolder; if (_outputFolder != null && !_outputFolder.Exists) { _outputFolder.Create(); } _templateLoader = new TemplateLoader(templates[generatorConfig.CodeFlavor]); }
public void UpdateConfig(GeneratorConfig config) { _generatorConfig = config; _outputFolder = config.OutputFolder; }
protected abstract DocumentContext CreateDocumentContext(Uri uri, string idlNamespace, GeneratorConfig config, TypeRegistry typeRegistry);