static void ReadSymbolMapping(WrapperProject project, XmlReader reader) { string mappingType = reader.Name; string mappingName = reader.GetAttribute("Name"); var replacements = new Dictionary<string, string>(); string scriptBody = null; if (reader.IsEmptyElement) { return; } while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "Replacement": { string replace = reader.GetAttribute("Replace"); string with = reader.GetAttribute("With"); replacements.Add(replace, with); } break; case "ScriptBody": { scriptBody = reader.ReadElementContentAsString(); } break; } } else if (reader.NodeType == XmlNodeType.EndElement) { break; } } ISymbolMapping mapping; switch (mappingType) { case "ScriptedMapping": { mapping = new ScriptedMapping(mappingName, scriptBody); } break; case "ReplaceMapping": { mapping = new ReplaceMapping(mappingName); } break; default: Console.WriteLine("Unknown mapping!"); return; } var replaceMapping = mapping as ReplaceMapping; if (replaceMapping != null) { foreach (var replacement in replacements) { replaceMapping.Replacements.Add(replacement.Key, replacement.Value); } } switch (mapping.Name) { case "NameMapping": project.ClassNameMapping = mapping; project.HeaderNameMapping = mapping; break; case "MethodNameMapping": project.MethodNameMapping = mapping; break; case "ParameterNameMapping": project.ParameterNameMapping = mapping; break; } }
static void ReadSymbolMapping(WrapperProject project, XmlReader reader) { string mappingType = reader.Name; string mappingName = reader.GetAttribute("Name"); var replacements = new Dictionary <string, string>(); string scriptBody = null; if (reader.IsEmptyElement) { return; } while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "Replacement": { string replace = reader.GetAttribute("Replace"); string with = reader.GetAttribute("With"); replacements.Add(replace, with); } break; case "ScriptBody": { scriptBody = reader.ReadElementContentAsString(); } break; } } else if (reader.NodeType == XmlNodeType.EndElement) { break; } } ISymbolMapping mapping; switch (mappingType) { case "ScriptedMapping": { mapping = new ScriptedMapping(mappingName, scriptBody); } break; case "ReplaceMapping": { mapping = new ReplaceMapping(mappingName); } break; default: Console.WriteLine("Unknown mapping!"); return; } if (mapping is ReplaceMapping) { var replaceMapping = mapping as ReplaceMapping; foreach (var replacement in replacements) { replaceMapping.Replacements.Add(replacement.Key, replacement.Value); } } switch (mapping.Name) { case "NameMapping": project.ClassNameMapping = mapping; project.HeaderNameMapping = mapping; break; case "MethodNameMapping": project.MethodNameMapping = mapping; break; case "ParameterNameMapping": project.ParameterNameMapping = mapping; break; } }