public RenamedItem(NanoXmlElement el, RenamedClass owner) { try { this.owner = owner; entityType = (EntityType)Enum.Parse(typeof (EntityType), el.Name.Substring(7)); string str = el.GetAttribute("oldName"); int i; if ((i = str.IndexOf(' ')) != -1) { string s = str.Substring(0, i); int k = s.IndexOf('/'); if (k != -1) resultType = new Renamed(s.Substring(0, k) + "." + s.Substring(k + 1)); else resultType = new Renamed(s); str = str.Substring(i + 1); } if ((i = str.IndexOf("::")) != -1) str = str.Substring(i + 2); if ((i = str.IndexOf('(')) != -1) { methodParams = new List<Renamed>(); foreach (string s in EntityName.ParseList(str, i + 1, ')')) { int k = s.IndexOf('/'); if (k != -1) methodParams.Add(new Renamed(s.Substring(0, k) + "." + s.Substring(k + 1))); else methodParams.Add(new Renamed(s)); } str = str.Substring(0, i); i = str.IndexOf('['); if (i != -1 && str[i + 2] == ']') str = str.Substring(0, i); } string strNew = el.GetAttribute("newName"); if (strNew != "dropped") name = new Renamed(str, strNew); else name = new Renamed(str); } catch (Exception e) { throw new ObfuscarParserException("Failed to process item element", e, el.Path); } }
private void ParseClass(NanoXmlElement el, Mapping owner) { try { string newName = el.GetAttribute("newName"); int j = newName.IndexOf('/'); if (j != -1) { newName = newName.Substring(j + 1); } string str = el.GetAttribute("oldName"); j = str.IndexOf('/'); if (j != -1) { ownerClassName = str.Substring(0, j); name = new Renamed(str.Substring(j + 1), newName); } else { name = new Renamed(str, newName); } } catch (Exception e) { throw new ObfuscarParserException("Failed to process class element: ", e, el.Path); } foreach (NanoXmlElement element in el.ChildElements) { if (!element.Name.StartsWith("renamed")) { continue; } items.Add(new RenamedItem(element, this)); } }
private void ParseSkipped(NanoXmlElement el) { try { string str = el.GetAttribute("name"); int j = str.IndexOf('/'); if (j != -1) { ownerClassName = str.Substring(0, j); name = new Renamed(str.Substring(j + 1)); } else { name = new Renamed(str); } skipReason = el.GetAttribute("reason"); } catch (Exception e) { throw new ObfuscarParserException("Failed to process element", e, el.Path); } }
public RenamedItem(NanoXmlElement el, RenamedClass owner) { try { this.owner = owner; entityType = (EntityType)Enum.Parse(typeof(EntityType), el.Name.Substring(7)); string str = el.GetAttribute("oldName"); int i; if ((i = str.IndexOf(' ')) != -1) { string s = str.Substring(0, i); int k = s.IndexOf('/'); if (k != -1) { resultType = new RenamedParam(s.Substring(0, k) + "." + s.Substring(k + 1)); } else { resultType = new RenamedParam(s); } str = str.Substring(i + 1); } if ((i = str.IndexOf("::")) != -1) { str = str.Substring(i + 2); } if ((i = str.IndexOf('(')) != -1) { methodParams = new List <RenamedParam>(); foreach (string s in EntityName.ParseList(str, i + 1, ')')) { int k = s.IndexOf('/'); if (k != -1) { methodParams.Add(new RenamedParam(s.Substring(0, k) + "." + s.Substring(k + 1))); } else { methodParams.Add(new RenamedParam(s)); } } str = str.Substring(0, i); i = str.IndexOf('['); if (i != -1 && str[i + 2] == ']') { str = str.Substring(0, i); } } string strNew = el.GetAttribute("newName"); if (strNew != "dropped") { name = new Renamed(str, strNew); } else { name = new Renamed(str); } } catch (Exception e) { throw new ObfuscarParserException("Failed to process item element", e, el.Path); } }