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

◆ WriteMemberEnd() [2/2]

void System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteMemberEnd ( Member[] members,
bool soapRefs )
inlineprivate

Definition at line 2421 of file XmlSerializationReaderCodeGen.cs.

2422 {
2423 foreach (Member member in members)
2424 {
2425 if (!member.IsArrayLike)
2426 {
2427 continue;
2428 }
2429 TypeDesc typeDesc = member.Mapping.TypeDesc;
2430 if (typeDesc.IsArray)
2431 {
2432 WriteSourceBegin(member.Source);
2433 if (soapRefs)
2434 {
2435 base.Writer.Write(" soap[1] = ");
2436 }
2437 string arrayName = member.ArrayName;
2438 string s = "c" + arrayName;
2439 bool useReflection = typeDesc.ArrayElementTypeDesc.UseReflection;
2440 string cSharpName = typeDesc.ArrayElementTypeDesc.CSharpName;
2441 if (!useReflection)
2442 {
2443 base.Writer.Write("(" + cSharpName + "[])");
2444 }
2445 base.Writer.Write("ShrinkArray(");
2446 base.Writer.Write(arrayName);
2447 base.Writer.Write(", ");
2448 base.Writer.Write(s);
2449 base.Writer.Write(", ");
2450 base.Writer.Write(base.RaCodeGen.GetStringForTypeof(cSharpName, useReflection));
2451 base.Writer.Write(", ");
2452 WriteBooleanValue(member.IsNullable);
2453 base.Writer.Write(")");
2454 WriteSourceEnd(member.Source);
2455 base.Writer.WriteLine(";");
2456 if (member.Mapping.ChoiceIdentifier != null)
2457 {
2458 WriteSourceBegin(member.ChoiceSource);
2459 arrayName = member.ChoiceArrayName;
2460 s = "c" + arrayName;
2461 bool useReflection2 = member.Mapping.ChoiceIdentifier.Mapping.TypeDesc.UseReflection;
2462 string cSharpName2 = member.Mapping.ChoiceIdentifier.Mapping.TypeDesc.CSharpName;
2463 if (!useReflection2)
2464 {
2465 base.Writer.Write("(" + cSharpName2 + "[])");
2466 }
2467 base.Writer.Write("ShrinkArray(");
2468 base.Writer.Write(arrayName);
2469 base.Writer.Write(", ");
2470 base.Writer.Write(s);
2471 base.Writer.Write(", ");
2472 base.Writer.Write(base.RaCodeGen.GetStringForTypeof(cSharpName2, useReflection2));
2473 base.Writer.Write(", ");
2474 WriteBooleanValue(member.IsNullable);
2475 base.Writer.Write(")");
2476 WriteSourceEnd(member.ChoiceSource);
2477 base.Writer.WriteLine(";");
2478 }
2479 }
2480 else if (typeDesc.IsValueType)
2481 {
2482 base.Writer.Write(member.Source);
2483 base.Writer.Write(" = ");
2484 base.Writer.Write(member.ArrayName);
2485 base.Writer.WriteLine(";");
2486 }
2487 }
2488 }

References System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.ArrayName, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.ChoiceArrayName, System.Xml.Serialization.AccessorMapping.ChoiceIdentifier, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.ChoiceSource, System.Xml.Serialization.TypeDesc.CSharpName, System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.IsArrayLike, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.IsNullable, System.Xml.Serialization.Accessor.Mapping, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.Mapping, System.s, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.Source, System.Xml.Serialization.AccessorMapping.TypeDesc, System.Xml.Serialization.TypeMapping.TypeDesc, System.Xml.Serialization.TypeDesc.UseReflection, System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteBooleanValue(), System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteSourceBegin(), and System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteSourceEnd().