Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteUnknownNode()

void System.Xml.Serialization.XmlSerializationReaderILGen.WriteUnknownNode ( string func,
string node,
ElementAccessor e,
bool anyIfs )
inlineprivate

Definition at line 311 of file XmlSerializationReaderILGen.cs.

312 {
313 if (anyIfs)
314 {
315 ilg.Else();
316 }
317 List<Type> list = new List<Type>();
318 ilg.Ldarg(0);
319 if (node == "null")
320 {
321 ilg.Load(null);
322 }
323 else
324 {
325 object variable = ilg.GetVariable("p");
328 }
329 list.Add(typeof(object));
330 if (e != null)
331 {
332 string text = ((e.Form == XmlSchemaForm.Qualified) ? e.Namespace : "");
333 text += ":";
334 text += e.Name;
335 ilg.Ldstr(ReflectionAwareILGen.GetCSharpString(text));
336 list.Add(typeof(string));
337 }
338 MethodInfo method = typeof(XmlSerializationReader).GetMethod(func, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, list.ToArray());
339 ilg.Call(method);
340 if (anyIfs)
341 {
342 ilg.EndIf();
343 }
344 }
void Add(TKey key, TValue value)
void ConvertValue(Type source, Type target)
void Call(MethodInfo methodInfo)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Serialization.CodeGenerator.Call(), System.Xml.Serialization.CodeGenerator.ConvertValue(), System.Xml.Dictionary, System.Xml.Serialization.CodeGenerator.Else(), System.Xml.Serialization.CodeGenerator.EndIf(), System.Xml.Serialization.ReflectionAwareILGen.GetCSharpString(), System.Xml.Serialization.CodeGenerator.GetVariable(), System.Xml.Serialization.CodeGenerator.GetVariableType(), System.Xml.Serialization.XmlSerializationILGen.ilg, System.Xml.Serialization.CodeGenerator.Ldarg(), System.Xml.Serialization.CodeGenerator.Ldstr(), System.list, System.Xml.Serialization.CodeGenerator.Load(), System.Xml.Serialization.Accessor.Name, System.Xml.Serialization.Accessor.Namespace, and System.text.

Referenced by System.Xml.Serialization.XmlSerializationReaderILGen.GenerateLiteralMembersElement().