public string DumpApi(SignatureWriter WriteSignature, DumpPostProcesser postProcess = null) { if (Database == null) { throw new Exception("Cannot Dump API without a ReflectionDatabase provided."); } buffer.Clear(); foreach (ClassDescriptor classDesc in Database.Classes.Values) { WriteSignature(this, classDesc, 0); NextLine(); foreach (MemberDescriptor memberDesc in sorted(classDesc.Members)) { WriteSignature(this, memberDesc, 1); NextLine(); } } foreach (EnumDescriptor enumDesc in Database.Enums.Values) { WriteSignature(this, enumDesc, 0); NextLine(); foreach (EnumItemDescriptor itemDesc in sorted(enumDesc.Items)) { WriteSignature(this, itemDesc, 1); NextLine(); } } return(ExportResults(postProcess)); }
public string ExportResults(DumpPostProcesser postProcess = null) { string result = buffer.ToString(); string post = postProcess?.Invoke(result); if (post != null) { result = post; } return(result); }