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

◆ WriteCreateMapping()

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

Definition at line 3006 of file XmlSerializationReaderCodeGen.cs.

3007 {
3008 string cSharpName = mapping.TypeDesc.CSharpName;
3009 bool useReflection = mapping.TypeDesc.UseReflection;
3010 bool cannotNew = mapping.TypeDesc.CannotNew;
3011 base.Writer.Write(useReflection ? "object" : cSharpName);
3012 base.Writer.Write(" ");
3013 base.Writer.Write(local);
3014 base.Writer.WriteLine(";");
3015 if (cannotNew)
3016 {
3017 base.Writer.WriteLine("try {");
3018 base.Writer.Indent++;
3019 }
3020 base.Writer.Write(local);
3021 base.Writer.Write(" = ");
3022 base.Writer.Write(base.RaCodeGen.GetStringForCreateInstance(cSharpName, useReflection, mapping.TypeDesc.CannotNew, cast: true));
3023 base.Writer.WriteLine(";");
3024 if (cannotNew)
3025 {
3026 WriteCatchException(typeof(MissingMethodException));
3027 base.Writer.Indent++;
3028 base.Writer.Write("throw CreateInaccessibleConstructorException(");
3030 base.Writer.WriteLine(");");
3032 base.Writer.Indent++;
3033 base.Writer.Write("throw CreateCtorHasSecurityException(");
3035 base.Writer.WriteLine(");");
3036 base.Writer.Indent--;
3037 base.Writer.WriteLine("}");
3038 }
3039 }

References System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteCatchException(), and System.Xml.Serialization.XmlSerializationCodeGen.WriteQuotedCSharpString().

Referenced by System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteEncodedStructMethod(), and System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteLiteralStructMethod().