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

◆ WriteCreateMapping()

void System.Xml.Serialization.XmlSerializationReaderILGen.WriteCreateMapping ( TypeMapping mapping,
string local )
inlineprivate

Definition at line 2811 of file XmlSerializationReaderILGen.cs.

2812 {
2813 string cSharpName = mapping.TypeDesc.CSharpName;
2814 bool cannotNew = mapping.TypeDesc.CannotNew;
2815 LocalBuilder local2 = ilg.DeclareLocal(mapping.TypeDesc.Type, local);
2816 if (cannotNew)
2817 {
2819 }
2820 base.RaCodeGen.ILGenForCreateInstance(ilg, mapping.TypeDesc.Type, mapping.TypeDesc.CannotNew, cast: true);
2821 ilg.Stloc(local2);
2822 if (cannotNew)
2823 {
2824 ilg.Leave();
2825 WriteCatchException(typeof(MissingMethodException));
2826 MethodInfo method = typeof(XmlSerializationReader).GetMethod("CreateInaccessibleConstructorException", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[1] { typeof(string) });
2827 ilg.Ldarg(0);
2829 ilg.Call(method);
2830 ilg.Throw();
2832 MethodInfo method2 = typeof(XmlSerializationReader).GetMethod("CreateCtorHasSecurityException", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[1] { typeof(string) });
2833 ilg.Ldarg(0);
2835 ilg.Call(method2);
2836 ilg.Throw();
2838 }
2839 }
LocalBuilder DeclareLocal(Type type, string name)
void Call(MethodInfo methodInfo)
void Stloc(Type type, string name)

References System.Xml.Dictionary.

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