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

◆ ILGenForCreateInstance() [1/2]

void System.Xml.Serialization.ReflectionAwareILGen.ILGenForCreateInstance ( CodeGenerator ilg,
Type type,
bool ctorInaccessible,
bool cast )
inlinepackage

Definition at line 68 of file ReflectionAwareILGen.cs.

69 {
71 {
72 ConstructorInfo constructor = type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, Type.EmptyTypes);
73 if (constructor != null)
74 {
75 ilg.New(constructor);
76 return;
77 }
78 LocalBuilder tempLocal = ilg.GetTempLocal(type);
79 ilg.Ldloca(tempLocal);
80 ilg.InitObj(type);
81 ilg.Ldloc(tempLocal);
82 }
83 else
84 {
86 }
87 }
void ILGenForCreateInstance(CodeGenerator ilg, Type type, bool ctorInaccessible, bool cast)

References System.Xml.Dictionary, System.Type.EmptyTypes, System.Xml.Serialization.CodeGenerator.GetTempLocal(), System.Xml.Serialization.ReflectionAwareILGen.ILGenForCreateInstance(), System.Xml.Serialization.CodeGenerator.InitObj(), System.Xml.Serialization.CodeGenerator.Ldloc(), System.Xml.Serialization.CodeGenerator.Ldloca(), System.Xml.Serialization.CodeGenerator.New(), and System.type.

Referenced by System.Xml.Serialization.ReflectionAwareILGen.ILGenForCreateInstance(), and System.Xml.Serialization.ReflectionAwareILGen.WriteCreateInstance().