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

◆ WriteDerivedTypes()

void System.Xml.Serialization.XmlSerializationWriterILGen.WriteDerivedTypes ( StructMapping mapping)
inlineprivate

Definition at line 627 of file XmlSerializationWriterILGen.cs.

628 {
629 for (StructMapping structMapping = mapping.DerivedMappings; structMapping != null; structMapping = structMapping.NextDerivedMapping)
630 {
631 ilg.InitElseIf();
632 WriteTypeCompare("t", structMapping.TypeDesc.Type);
633 ilg.AndIf();
635 List<Type> list = new List<Type>();
636 ilg.Ldarg(0);
637 list.Add(typeof(string));
638 ilg.Ldarg("n");
639 list.Add(typeof(string));
640 ilg.Ldarg("ns");
641 object variable = ilg.GetVariable("o");
645 list.Add(structMapping.TypeDesc.Type);
646 if (structMapping.TypeDesc.IsNullable)
647 {
648 list.Add(typeof(bool));
649 ilg.Ldarg("isNullable");
650 }
651 list.Add(typeof(bool));
657 }
658 }
void Add(TKey key, TValue value)
void ConvertValue(Type source, Type target)
void Call(MethodInfo methodInfo)
MethodBuilder EnsureMethodBuilder(TypeBuilder typeBuilder, string methodName, MethodAttributes attributes, Type returnType, Type[] parameterTypes)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Serialization.CodeGenerator.AndIf(), System.Xml.Serialization.CodeGenerator.Call(), System.Xml.Serialization.CodeGenerator.ConvertValue(), System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationILGen.EnsureMethodBuilder(), System.Xml.Serialization.CodeGenerator.GetVariable(), System.Xml.Serialization.CodeGenerator.GetVariableType(), System.Xml.Serialization.CodeGenerator.GotoMethodEnd(), System.Xml.Serialization.XmlSerializationILGen.ilg, System.Xml.Serialization.CodeGenerator.InitElseIf(), System.Xml.Serialization.CodeGenerator.Ldarg(), System.Xml.Serialization.CodeGenerator.Ldc(), System.list, System.Xml.Serialization.CodeGenerator.Load(), System.Xml.Serialization.XmlSerializationILGen.ReferenceMapping(), System.Xml.Serialization.XmlSerializationILGen.typeBuilder, System.Xml.Serialization.XmlSerializationWriterILGen.WriteDerivedTypes(), and System.Xml.Serialization.XmlSerializationWriterILGen.WriteTypeCompare().

Referenced by System.Xml.Serialization.XmlSerializationWriterILGen.WriteDerivedTypes(), and System.Xml.Serialization.XmlSerializationWriterILGen.WriteStructMethod().