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

◆ WriteChoiceTypeCheck()

void System.Xml.Serialization.XmlSerializationWriterILGen.WriteChoiceTypeCheck ( SourceInfo source,
string fullTypeName,
ChoiceIdentifierAccessor choice,
string enumName,
TypeDesc typeDesc )
inlineprivate

Definition at line 1862 of file XmlSerializationWriterILGen.cs.

1863 {
1866 source.Load(typeof(object));
1867 ilg.Load(null);
1868 ilg.Beq(label);
1870 ilg.Ldc(boolVar: false);
1871 ilg.Ceq();
1872 ilg.Br(label2);
1874 ilg.Ldc(boolVar: false);
1876 ilg.If();
1877 MethodInfo method = typeof(XmlSerializationWriter).GetMethod("CreateMismatchChoiceException", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[3]
1878 {
1879 typeof(string),
1880 typeof(string),
1881 typeof(string)
1882 });
1883 ilg.Ldarg(0);
1884 ilg.Ldstr(GetCSharpString(typeDesc.FullName));
1885 ilg.Ldstr(GetCSharpString(choice.MemberName));
1887 ilg.Call(method);
1888 ilg.Throw();
1889 ilg.EndIf();
1890 }
void Call(MethodInfo methodInfo)

References System.Xml.Dictionary, and System.source.

Referenced by System.Xml.Serialization.XmlSerializationWriterILGen.WriteElements().