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

◆ WriteAttribute()

void System.Xml.Serialization.XmlSerializationWriterILGen.WriteAttribute ( SourceInfo source,
AttributeAccessor attribute,
string parent )
inlineprivate

Definition at line 1136 of file XmlSerializationWriterILGen.cs.

1137 {
1138 if (attribute.Mapping is SpecialMapping)
1139 {
1140 SpecialMapping specialMapping = (SpecialMapping)attribute.Mapping;
1141 if (specialMapping.TypeDesc.Kind != TypeKind.Attribute && !specialMapping.TypeDesc.CanBeAttributeValue)
1142 {
1144 }
1145 MethodInfo method = typeof(XmlSerializationWriter).GetMethod("WriteXmlAttribute", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[2]
1146 {
1147 typeof(XmlNode),
1148 typeof(object)
1149 });
1150 ilg.Ldarg(0);
1151 ilg.Ldloc(source.Source);
1152 ilg.Ldarg(parent);
1153 ilg.ConvertValue(ilg.GetArg(parent).ArgType, typeof(object));
1154 ilg.Call(method);
1155 }
1156 else
1157 {
1158 TypeDesc typeDesc = attribute.Mapping.TypeDesc;
1159 source = source.CastTo(typeDesc);
1161 }
1162 }
static string XmlInternalError
Definition SR.cs:1812
Definition SR.cs:7
void ConvertValue(Type source, Type target)
void Call(MethodInfo methodInfo)
void Ldloc(LocalBuilder localBuilder)
static object GetConvertedDefaultValue([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)] Type targetType, object rawDefaultValue)
void WritePrimitive(string method, string name, string ns, object defaultValue, SourceInfo source, TypeMapping mapping, bool writeXsiType, bool isElement, bool isNullable)

References System.Xml.Serialization.ArgBuilder.ArgType, System.Xml.Serialization.CodeGenerator.Call(), System.Xml.Serialization.CodeGenerator.ConvertValue(), System.Xml.Dictionary, System.Xml.Serialization.CodeGenerator.GetArg(), System.Xml.Serialization.XmlSerializationWriterILGen.GetConvertedDefaultValue(), System.Xml.Serialization.XmlSerializationILGen.ilg, System.Xml.Serialization.CodeGenerator.Ldarg(), System.Xml.Serialization.CodeGenerator.Ldloc(), System.source, System.Xml.Serialization.XmlSerializationWriterILGen.WritePrimitive(), and System.SR.XmlInternalError.

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