private string generateCode(IGeneratesCode generator) { var generatedAssembly = new GeneratedAssembly(_rules); var serviceVariables = generator.AssemblyTypes(_rules, generatedAssembly); var code = generatedAssembly.GenerateCode(serviceVariables); return(code); }
private string generateCode(ICodeFileCollection collection) { if (collection.ChildNamespace.IsEmpty()) { throw new InvalidOperationException($"Missing {nameof(ICodeFileCollection.ChildNamespace)} for {collection}"); } var @namespace = collection.ToNamespace(collection.Rules); var generatedAssembly = new GeneratedAssembly(collection.Rules, @namespace); var files = collection.BuildFiles(); foreach (var file in files) { file.AssembleTypes(generatedAssembly); } return(generatedAssembly.GenerateCode(ServiceVariableSource)); }