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

◆ WriteText()

void System.Xml.Serialization.XmlSerializationWriterILGen.WriteText ( SourceInfo source,
TextAccessor text )
inlineprivate

Definition at line 1600 of file XmlSerializationWriterILGen.cs.

1601 {
1602 if (text.Mapping is PrimitiveMapping)
1603 {
1604 PrimitiveMapping primitiveMapping = (PrimitiveMapping)text.Mapping;
1605 ilg.Ldarg(0);
1607 if (text.Mapping is EnumMapping)
1608 {
1609 WriteEnumValue((EnumMapping)text.Mapping, source, out returnType);
1610 }
1611 else
1612 {
1614 }
1615 MethodInfo method = typeof(XmlSerializationWriter).GetMethod("WriteValue", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[1] { returnType });
1616 ilg.Call(method);
1617 }
1618 else if (text.Mapping is SpecialMapping)
1619 {
1620 SpecialMapping specialMapping = (SpecialMapping)text.Mapping;
1621 TypeKind kind = specialMapping.TypeDesc.Kind;
1622 if (kind != TypeKind.Node)
1623 {
1625 }
1626 MethodInfo method2 = source.Type.GetMethod("WriteTo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[1] { typeof(XmlWriter) });
1627 MethodInfo method3 = typeof(XmlSerializationWriter).GetMethod("get_Writer", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, Type.EmptyTypes);
1628 source.Load(source.Type);
1629 ilg.Ldarg(0);
1630 ilg.Call(method3);
1631 ilg.Call(method2);
1632 }
1633 }
static string XmlInternalError
Definition SR.cs:1812
Definition SR.cs:7
void Call(MethodInfo methodInfo)
void WriteEnumValue(EnumMapping mapping, SourceInfo source, out Type returnType)
void WritePrimitiveValue(TypeDesc typeDesc, SourceInfo source, out Type returnType)

References System.Xml.Serialization.CodeGenerator.Call(), System.Xml.Dictionary, System.Type.EmptyTypes, System.Xml.Serialization.XmlSerializationILGen.ilg, System.Xml.Serialization.CodeGenerator.Ldarg(), System.source, System.text, System.Xml.Serialization.XmlSerializationWriterILGen.WriteEnumValue(), System.Xml.Serialization.XmlSerializationWriterILGen.WritePrimitiveValue(), and System.SR.XmlInternalError.

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