private static string GetMethodPreserveBlacklistContents(RuntimeClassRegistry rcr) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("<linker>"); foreach (IGrouping<string, RuntimeClassRegistry.MethodDescription> source in rcr.GetMethodsToPreserve().GroupBy<RuntimeClassRegistry.MethodDescription, string>((Func<RuntimeClassRegistry.MethodDescription, string>) (m => m.assembly))) { stringBuilder.AppendLine(string.Format("\t<assembly fullname=\"{0}\">", (object) source.Key)); foreach (IGrouping<string, RuntimeClassRegistry.MethodDescription> grouping in source.GroupBy<RuntimeClassRegistry.MethodDescription, string>((Func<RuntimeClassRegistry.MethodDescription, string>) (m => m.fullTypeName))) { stringBuilder.AppendLine(string.Format("\t\t<type fullname=\"{0}\">", (object) grouping.Key)); foreach (RuntimeClassRegistry.MethodDescription methodDescription in (IEnumerable<RuntimeClassRegistry.MethodDescription>) grouping) stringBuilder.AppendLine(string.Format("\t\t\t<method name=\"{0}\"/>", (object) methodDescription.methodName)); stringBuilder.AppendLine("\t\t</type>"); } stringBuilder.AppendLine("\t</assembly>"); } stringBuilder.AppendLine("</linker>"); return stringBuilder.ToString(); }