1714 references to Writer
System.Private.Xml (1714)
System\Xml\Serialization\XmlSerializationReader.cs (967)
2281Writer.Write(Access); 2282Writer.Write(" class "); 2283Writer.Write(ClassName); 2284Writer.Write(" : "); 2285Writer.Write(typeof(System.Xml.Serialization.XmlSerializationReader).FullName); 2286Writer.WriteLine(" {"); 2287Writer.Indent++; 2348Writer.WriteLine(); 2351Writer.Write("string "); 2352Writer.Write(idName); 2353Writer.WriteLine(";"); 2365Writer.WriteLine(); 2366Writer.WriteLine("static readonly char[] xmlListSeparators = System.AppContext.TryGetSwitch(\"Switch.System.Xml.Serialization.UseLegacyXmlListSeparation\", out bool useLegacyXmlListSeparation) && useLegacyXmlListSeparation ? null : new char[] { ' ', '\\t', '\\n', '\\r' };"); 2369Writer.WriteLine(); 2370Writer.WriteLine("protected override void InitIDs() {"); 2371Writer.Indent++; 2376Writer.Write(idName); 2377Writer.Write(" = Reader.NameTable.Add("); 2379Writer.WriteLine(");"); 2381Writer.Indent--; 2382Writer.WriteLine("}"); 2384Writer.Indent--; 2385Writer.WriteLine("}"); 2404Writer.Write("if (Reader.IsStartElement("); 2406Writer.Write(", "); 2408Writer.WriteLine(")) {"); 2409Writer.Indent++; 2416Writer.WriteLine("else {"); 2417Writer.Indent++; 2419Writer.Write(func); 2420Writer.Write("("); 2421Writer.Write(node); 2424Writer.Write(", "); 2428ReflectionAwareCodeGen.WriteQuotedCSharpString(Writer, expectedElement); 2430Writer.WriteLine(");"); 2433Writer.Indent--; 2434Writer.WriteLine("}"); 2440Writer.WriteLine(); 2441Writer.WriteLine("protected override void InitCallbacks() {"); 2442Writer.Indent++; 2463Writer.Write("AddReadCallback("); 2465Writer.Write(", "); 2467Writer.Write(", "); 2468Writer.Write(RaCodeGen.GetStringForTypeof(mapping.TypeDesc.CSharpName, mapping.TypeDesc.UseReflection)); 2469Writer.Write(", new "); 2470Writer.Write(typeof(XmlSerializationReadCallback).FullName); 2471Writer.Write("(this."); 2472Writer.Write(methodName); 2473Writer.WriteLine("));"); 2478Writer.Indent--; 2479Writer.WriteLine("}"); 2483Writer.WriteLine(); 2484Writer.Write("object "); 2485Writer.Write(dummyArrayMethodName); 2486Writer.WriteLine("() {"); 2487Writer.Indent++; 2488Writer.WriteLine("// dummy array method"); 2489Writer.WriteLine("UnknownNode(null);"); 2490Writer.WriteLine("return null;"); 2491Writer.Indent--; 2492Writer.WriteLine("}"); 2540Writer.WriteLine(); 2541Writer.Write("public object[] "); 2542Writer.Write(methodName); 2543Writer.WriteLine("() {"); 2544Writer.Indent++; 2545Writer.WriteLine("Reader.MoveToContent();"); 2547Writer.Write("object[] p = new object["); 2548Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2549Writer.WriteLine("];"); 2555Writer.Indent++; 2633if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2643Writer.WriteLine("Reader.MoveToElement();"); 2650Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); Reader.MoveToContent(); continue; }"); 2651Writer.WriteLine("Reader.ReadStartElement();"); 2655Writer.WriteLine("int state = 0;"); 2658Writer.Indent++; 2663Writer.WriteLine("Reader.MoveToContent();"); 2670Writer.WriteLine("ReadEndElement();"); 2672Writer.Indent--; 2673Writer.WriteLine("}"); 2677Writer.WriteLine("Reader.MoveToContent();"); 2681Writer.WriteLine("return p;"); 2682Writer.Indent--; 2683Writer.WriteLine("}"); 2694Writer.Write(arrayName); 2695Writer.Write("["); 2696Writer.Write(i.ToString(CultureInfo.InvariantCulture)); 2697Writer.Write("] = "); 2701Writer.Write("null"); 2705Writer.Write(RaCodeGen.GetStringForCreateInstance(mappings[i].TypeDesc!.CSharpName, mappings[i].TypeDesc!.UseReflection, false, false)); 2707Writer.WriteLine(";"); 2719Writer.WriteLine(); 2720Writer.Write("public object[] "); 2721Writer.Write(methodName); 2722Writer.WriteLine("() {"); 2723Writer.Indent++; 2725Writer.WriteLine("Reader.MoveToContent();"); 2727Writer.Write("object[] p = new object["); 2728Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2729Writer.WriteLine("];"); 2738Writer.Write("if (!"); 2740Writer.WriteLine(") throw CreateUnknownNodeException();"); 2742Writer.WriteLine("bool isEmptyWrapper = Reader.IsEmptyElement;"); 2743Writer.WriteLine("Reader.ReadStartElement();"); 2778if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2786Writer.Indent++; 2790Writer.WriteLine("Reader.MoveToContent();"); 2795Writer.WriteLine("if (!isEmptyWrapper) ReadEndElement();"); 2800Writer.WriteLine("ReadReferencedElements();"); 2801Writer.WriteLine("return p;"); 2803Writer.Indent--; 2804Writer.WriteLine("}"); 2821Writer.Write(item); 2822Writer.Write(" "); 2823Writer.Write("ci ="); 2824Writer.Write($"({item})"); 2825Writer.Write(source); 2826Writer.WriteLine(";"); 2828Writer.WriteLine("for (int i = 0; i < ci.Length; i++) {"); 2829Writer.Indent++; 2830Writer.Write(RaCodeGen.GetStringForMethod("c", td.CSharpName, "Add", useReflection)); 2835Writer.Write("ci[i]"); 2837Writer.Write($"{RaCodeGen.GetReflectionVariable(typeof(Array).FullName!, "0")}[ci , i]"); 2840if (useReflection) Writer.WriteLine("}"); 2841Writer.WriteLine(");"); 2842Writer.Indent--; 2843Writer.WriteLine("}"); 2851Writer.WriteLine(); 2852Writer.Write("public object "); 2853Writer.Write(methodName); 2854Writer.WriteLine("() {"); 2855Writer.Indent++; 2856Writer.WriteLine("object o = null;"); 2862Writer.WriteLine("Reader.MoveToContent();"); 2867Writer.WriteLine("Referenced(o);"); 2868Writer.WriteLine("ReadReferencedElements();"); 2870Writer.WriteLine("return (object)o;"); 2871Writer.Indent--; 2872Writer.WriteLine("}"); 2891Writer.Write("("); 2892Writer.Write(mapping.TypeDesc!.CSharpName); 2893Writer.Write(")"); 2895Writer.Write(enumMethodName); 2896Writer.Write("("); 2897if (!mapping.IsSoap) Writer.Write(source); 2898Writer.Write(")"); 2902Writer.Write(source); 2908Writer.Write("CollapseWhitespace("); 2909Writer.Write(source); 2910Writer.Write(")"); 2914Writer.Write(source); 2921Writer.Write(typeof(XmlConvert).FullName); 2922Writer.Write("."); 2924Writer.Write("To"); 2925Writer.Write(mapping.TypeDesc.FormatterName); 2926Writer.Write("("); 2927Writer.Write(source); 2928Writer.Write(")"); 2963Writer.WriteLine(); 2964Writer.Write(typeof(Hashtable).FullName); 2965Writer.Write(" "); 2966Writer.Write(memberName); 2967Writer.WriteLine(";"); 2968Writer.WriteLine(); 2970Writer.Write("internal "); 2971Writer.Write(typeof(Hashtable).FullName); 2972Writer.Write(" "); 2973Writer.Write(propName); 2974Writer.WriteLine(" {"); 2975Writer.Indent++; 2977Writer.WriteLine("get {"); 2978Writer.Indent++; 2980Writer.Write("if ((object)"); 2981Writer.Write(memberName); 2982Writer.WriteLine(" == null) {"); 2983Writer.Indent++; 2985Writer.Write(typeof(Hashtable).FullName); 2986Writer.Write(" h = new "); 2987Writer.Write(typeof(Hashtable).FullName); 2988Writer.WriteLine("();"); 2994Writer.Write("h.Add("); 2998Writer.Write(", (long)"); 2999Writer.Write(mapping.TypeDesc.CSharpName); 3000Writer.Write(".@"); 3002Writer.Write(constants[i].Name); 3006Writer.Write(", "); 3007Writer.Write(string.Create(CultureInfo.InvariantCulture, $"{constants[i].Value}L")); 3010Writer.WriteLine(");"); 3013Writer.Write(memberName); 3014Writer.WriteLine(" = h;"); 3016Writer.Indent--; 3017Writer.WriteLine("}"); 3019Writer.Write("return "); 3020Writer.Write(memberName); 3021Writer.WriteLine(";"); 3023Writer.Indent--; 3024Writer.WriteLine("}"); 3026Writer.Indent--; 3027Writer.WriteLine("}"); 3039Writer.WriteLine(); 3045Writer.Write("object"); 3046Writer.Write(" "); 3047Writer.Write(methodName); 3048Writer.WriteLine("() {"); 3049Writer.Indent++; 3050Writer.WriteLine("string s = Reader.ReadElementString();"); 3054Writer.Write(useReflection ? "object" : fullTypeName); 3055Writer.Write(" "); 3056Writer.Write(methodName); 3057Writer.WriteLine("(string s) {"); 3058Writer.Indent++; 3066Writer.Write("return "); 3067Writer.Write(typeof(Enum).FullName); 3068Writer.Write(".ToObject("); 3069Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 3070Writer.Write(", ToEnum(s, "); 3071Writer.Write(tableName); 3072Writer.Write(", "); 3074Writer.WriteLine("));"); 3078Writer.Write("return ("); 3079Writer.Write(fullTypeName); 3080Writer.Write(")ToEnum(s, "); 3081Writer.Write(tableName); 3082Writer.Write(", "); 3084Writer.WriteLine(");"); 3089Writer.WriteLine("switch (s) {"); 3090Writer.Indent++; 3099Writer.Write("case "); 3101Writer.Write(": return "); 3102Writer.Write(RaCodeGen.GetStringForEnumMember(fullTypeName, c.Name, useReflection)); 3103Writer.WriteLine(";"); 3108Writer.Write("default: throw CreateUnknownConstantException(s, "); 3109Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 3110Writer.WriteLine(");"); 3111Writer.Indent--; 3112Writer.WriteLine("}"); 3115Writer.Indent--; 3116Writer.WriteLine("}"); 3123Writer.Write("if ("); 3125Writer.WriteLine(")"); 3126Writer.Indent++; 3134Writer.Write("return "); 3136Writer.Write($"({returnTypeName})"); 3137Writer.Write(methodName); 3138Writer.Write("("); 3140Writer.Write("isNullable, "); 3141Writer.WriteLine("false);"); 3143Writer.Indent--; 3160Writer.Write("if ("); 3162Writer.WriteLine(") {"); 3163Writer.Indent++; 3164Writer.WriteLine("Reader.ReadStartElement();"); 3170Writer.Write("object e = "); 3171Writer.Write(methodName); 3172Writer.WriteLine("(CollapseWhitespace(Reader.ReadString()));"); 3173Writer.WriteLine("ReadEndElement();"); 3174Writer.WriteLine("return e;"); 3175Writer.Indent--; 3176Writer.WriteLine("}"); 3182Writer.Write("if ("); 3184Writer.WriteLine(") {"); 3185Writer.Indent++; 3196Writer.Write(typeof(Array).FullName); 3198Writer.Write("object"); 3201Writer.Write(fullTypeName); 3202Writer.Write(" a = "); 3205Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, td.UseReflection, false, false)); 3206Writer.WriteLine(";"); 3209Writer.WriteLine("null;"); 3212Writer.WriteLine("return a;"); 3213Writer.Indent--; 3214Writer.WriteLine("}"); 3226Writer.WriteLine(); 3228Writer.Write(typeName); 3229Writer.Write(" "); 3230Writer.Write(methodName); 3231Writer.WriteLine("(bool checkType) {"); 3232Writer.Indent++; 3234Writer.Write(typeName); 3235Writer.Write(" o = "); 3239Writer.Write("null"); 3243Writer.Write("default("); 3244Writer.Write(typeName); 3245Writer.Write(")"); 3247Writer.WriteLine(";"); 3249Writer.WriteLine("if (ReadNull())"); 3250Writer.Indent++; 3252Writer.WriteLine("return o;"); 3253Writer.Indent--; 3261Writer.WriteLine("return o;"); 3263Writer.Indent--; 3264Writer.WriteLine("}"); 3280Writer.WriteLine(); 3281Writer.Write(typeName); 3282Writer.Write(" "); 3283Writer.Write(methodName); 3284Writer.Write("("); 3286Writer.Write("bool isNullable, "); 3287Writer.WriteLine("bool checkType) {"); 3288Writer.Indent++; 3290Writer.Write(typeof(XmlQualifiedName).FullName); 3291Writer.WriteLine(" xsiType = checkType ? GetXsiType() : null;"); 3292Writer.WriteLine("bool isNull = false;"); 3294Writer.WriteLine("if (isNullable) isNull = ReadNull();"); 3296Writer.WriteLine("if (checkType) {"); 3299Writer.Indent++; 3300Writer.WriteLine("if (isNull) {"); 3301Writer.Indent++; 3302Writer.WriteLine($"if (xsiType != null) return ({typeName})ReadTypedNull(xsiType);"); 3303Writer.Write("else return "); 3306Writer.Write(RaCodeGen.GetStringForCreateInstance(structMapping.TypeDesc.CSharpName, useReflection, false, false)); 3307Writer.WriteLine(";"); 3310Writer.WriteLine("null;"); 3312Writer.Indent--; 3313Writer.WriteLine("}"); 3315Writer.Write("if (xsiType == null"); 3318Writer.Write(" || "); 3321Writer.WriteLine(") {"); 3324Writer.Indent++; 3325Writer.WriteLine($"return ReadTypedPrimitive(new System.Xml.XmlQualifiedName(\"{Soap.UrType}\", \"{XmlSchema.Namespace}\"));"); 3326Writer.Indent--; 3328Writer.WriteLine("}"); 3329Writer.WriteLine("else {"); 3330Writer.Indent++; 3334Writer.Write("return ReadTypedPrimitive(("); 3336Writer.Write("throw CreateUnknownTypeException(("); 3337Writer.Write(typeof(XmlQualifiedName).FullName); 3338Writer.WriteLine(")xsiType);"); 3339Writer.Indent--; 3340Writer.WriteLine("}"); 3342Writer.Indent--; 3343Writer.WriteLine("}"); 3345Writer.WriteLine("if (isNull) return null;"); 3349Writer.Write("throw CreateAbstractTypeException("); 3351Writer.Write(", "); 3353Writer.WriteLine(");"); 3359Writer.WriteLine("DecodeName = false;"); 3449Writer.WriteLine("Reader.MoveToElement();"); 3451Writer.WriteLine("if (Reader.IsEmptyElement) {"); 3452Writer.Indent++; 3453Writer.WriteLine("Reader.Skip();"); 3455Writer.WriteLine("return o;"); 3456Writer.Indent--; 3457Writer.WriteLine("}"); 3459Writer.WriteLine("Reader.ReadStartElement();"); 3462Writer.WriteLine("int state = 0;"); 3465Writer.Indent++; 3468Writer.WriteLine("Reader.MoveToContent();"); 3473Writer.WriteLine("ReadEndElement();"); 3474Writer.WriteLine("return o;"); 3476Writer.Indent--; 3477Writer.WriteLine("}"); 3485Writer.WriteLine(); 3486Writer.Write("object"); 3487Writer.Write(" "); 3488Writer.Write(methodName); 3489Writer.Write("("); 3490Writer.WriteLine(") {"); 3491Writer.Indent++; 3499Writer.Write("throw CreateAbstractTypeException("); 3501Writer.Write(", "); 3503Writer.WriteLine(");"); 3534Writer.WriteLine("Reader.MoveToElement();"); 3536Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); return o; }"); 3537Writer.WriteLine("Reader.ReadStartElement();"); 3540Writer.Indent++; 3543Writer.WriteLine("Reader.MoveToContent();"); 3547Writer.WriteLine("ReadEndElement();"); 3548Writer.WriteLine("return o;"); 3550Writer.Indent--; 3551Writer.WriteLine("}"); 3558Writer.WriteLine(); 3559Writer.Write("void "); 3560Writer.Write(fixupMethodName); 3561Writer.WriteLine("(object objFixup) {"); 3562Writer.Indent++; 3563Writer.WriteLine("Fixup fixup = (Fixup)objFixup;"); 3565Writer.WriteLine("string[] ids = fixup.Ids;"); 3573Writer.Write("if (ids["); 3574Writer.Write(fixupIndex); 3575Writer.WriteLine("] != null) {"); 3576Writer.Indent++; 3590Writer.WriteLine("try {"); 3591Writer.Indent++; 3597Writer.Write(targetSource); 3599Writer.WriteLine(";"); 3603Writer.Write(member.CheckSpecifiedSource); 3604Writer.WriteLine(" = true;"); 3612Writer.Indent--; 3613Writer.WriteLine("}"); 3616Writer.Indent--; 3617Writer.WriteLine("}"); 3622Writer.WriteLine("// get array of the collection items"); 3631Writer.Write("if ((object)("); 3632Writer.Write(memberSource); 3633Writer.WriteLine(") == null) {"); 3634Writer.Indent++; 3638Writer.Write("throw CreateReadOnlyCollectionException("); 3640Writer.WriteLine(");"); 3644Writer.Write(memberSource); 3645Writer.Write(" = "); 3646Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDesc.CSharpName, typeDesc.UseReflection, typeDesc.CannotNew, true)); 3647Writer.WriteLine(";"); 3650Writer.Indent--; 3651Writer.WriteLine("}"); 3653Writer.Write("CollectionFixup collectionFixup = new CollectionFixup("); 3654Writer.Write(memberSource); 3655Writer.Write(", "); 3656Writer.Write("new "); 3657Writer.Write(typeof(XmlSerializationCollectionFixupCallback).FullName); 3658Writer.Write("(this."); 3659Writer.Write(create.Name); 3660Writer.Write("), "); 3661Writer.Write(targetSource); 3662Writer.WriteLine(");"); 3663Writer.WriteLine("AddFixup(collectionFixup);"); 3668Writer.Write("void "); 3669Writer.Write(c.Name); 3670Writer.WriteLine("(object collection, object collectionItems) {"); 3671Writer.Indent++; 3673Writer.WriteLine("if (collectionItems == null) return;"); 3674Writer.WriteLine("if (collection == null) return;"); 3683Writer.Indent--; 3684Writer.WriteLine("}"); 3689Writer.Write("((object) (("); 3690Writer.Write(typeof(XmlQualifiedName).FullName); 3691Writer.Write(")"); 3692Writer.Write(source); 3693Writer.Write(").Name == (object)"); 3695Writer.Write(" && (object) (("); 3696Writer.Write(typeof(XmlQualifiedName).FullName); 3697Writer.Write(")"); 3698Writer.Write(source); 3699Writer.Write(").Namespace == (object)"); 3701Writer.Write(")"); 3706Writer.Write("("); 3709Writer.Write("(object) "); 3710Writer.Write(source); 3711Writer.Write(".LocalName == (object)"); 3713Writer.Write(" && "); 3715Writer.Write("(object) "); 3716Writer.Write(source); 3717Writer.Write(".NamespaceURI == (object)"); 3719Writer.Write(")"); 3731Writer.Write(idName); 3740Writer.WriteLine("while (Reader.MoveToNextAttribute()) {"); 3741Writer.Indent++; 3761Writer.Write("else "); 3763Writer.Write("if ("); 3766Writer.Write("!"); 3767Writer.Write(member.ParamsReadSource); 3768Writer.Write(" && "); 3777Writer.WriteLine(") {"); 3778Writer.Indent++; 3781Writer.Indent--; 3782Writer.WriteLine("}"); 3786Writer.Write("else "); 3790Writer.WriteLine("if (IsXmlnsAttribute(Reader.Name)) {"); 3791Writer.Indent++; 3793Writer.Write("if ("); 3794Writer.Write(xmlnsMember.Source); 3795Writer.Write(" == null) "); 3796Writer.Write(xmlnsMember.Source); 3797Writer.Write(" = new "); 3798Writer.Write(xmlnsMember.Mapping.TypeDesc!.CSharpName); 3799Writer.WriteLine("();"); 3802Writer.Write($"(({xmlnsMember.Mapping.TypeDesc.CSharpName}){xmlnsMember.ArraySource})"); 3803Writer.WriteLine(".Add(Reader.Name.Length == 5 ? \"\" : Reader.LocalName, Reader.Value);"); 3805Writer.Indent--; 3806Writer.WriteLine("}"); 3808Writer.WriteLine("else {"); 3809Writer.Indent++; 3813Writer.WriteLine("if (!IsXmlnsAttribute(Reader.Name)) {"); 3814Writer.Indent++; 3818Writer.Write(typeof(XmlAttribute).FullName); 3819Writer.Write(" attr = "); 3820Writer.Write("("); 3821Writer.Write(typeof(XmlAttribute).FullName); 3822Writer.WriteLine(") Document.ReadNode(Reader);"); 3823Writer.WriteLine("ParseWsdlArrayType(attr);"); 3828Writer.Write(elseCall); 3829Writer.Write("("); 3830Writer.Write(firstParam); 3833Writer.Write(", "); 3845Writer.WriteLine(");"); 3847Writer.Indent--; 3848Writer.WriteLine("}"); 3850Writer.Indent--; 3851Writer.WriteLine("}"); 3863Writer.Write("attr"); 3865Writer.WriteLine(";"); 3869Writer.Write("if (attr is "); 3870Writer.Write(typeof(XmlAttribute).FullName); 3871Writer.WriteLine(") {"); 3872Writer.Indent++; 3874Writer.Write("("); 3875Writer.Write(typeof(XmlAttribute).FullName); 3876Writer.Write(")attr"); 3878Writer.WriteLine(";"); 3879Writer.Indent--; 3880Writer.WriteLine("}"); 3890Writer.WriteLine("string listValues = Reader.Value;"); 3897Writer.WriteLine("string[] vals = listValues.Split(xmlListSeparators);"); 3898Writer.WriteLine("for (int i = 0; i < vals.Length; i++) {"); 3899Writer.Indent++; 3906Writer.WriteLine(";"); 3907Writer.Indent--; 3908Writer.WriteLine("}"); 3915Writer.WriteLine(";"); 3920Writer.Write(member.CheckSpecifiedSource); 3921Writer.WriteLine(" = true;"); 3925Writer.Write(member.ParamsReadSource); 3926Writer.WriteLine(" = true;"); 3949Writer.Write("Fixup fixup = new Fixup("); 3950Writer.Write(source); 3951Writer.Write(", "); 3952Writer.Write("new "); 3953Writer.Write(typeof(XmlSerializationFixupCallback).FullName); 3954Writer.Write("(this."); 3955Writer.Write(fixupMethodName); 3956Writer.Write("), "); 3957Writer.Write(fixupCount.ToString(CultureInfo.InvariantCulture)); 3958Writer.WriteLine(");"); 3959Writer.WriteLine("AddFixup(fixup);"); 3983Writer.Write("int "); 3984Writer.Write(c); 3985Writer.WriteLine(" = 0;"); 3992Writer.Write("int c"); 3993Writer.Write(member.ChoiceArrayName); 3994Writer.WriteLine(" = 0;"); 4003Writer.Write(member.Source); 4004Writer.Write(a); 4006Writer.WriteLine("});"); 4008Writer.WriteLine(");"); 4015Writer.Write("if ((object)("); 4016Writer.Write(member.Source); 4017Writer.Write(") == null) "); 4020Writer.Write("throw CreateReadOnlyCollectionException("); 4022Writer.WriteLine(");"); 4026Writer.Write(member.Source); 4027Writer.Write(" = "); 4028Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDescFullName, useReflection, typeDesc.CannotNew, true)); 4029Writer.WriteLine(";"); 4080Writer.WriteLine("string tmp = null;"); 4083Writer.Write("if (Reader.NodeType == "); 4084Writer.Write(typeof(XmlNodeType).FullName); 4085Writer.WriteLine(".Element) {"); 4086Writer.Indent++; 4098Writer.Indent--; 4099Writer.WriteLine("}"); 4104Writer.WriteLine("else {"); 4105Writer.Indent++; 4106Writer.WriteLine(elseString); 4107Writer.Indent--; 4108Writer.WriteLine("}"); 4113Writer.Write("else if (Reader.NodeType == "); 4114Writer.Write(typeof(XmlNodeType).FullName); 4115Writer.WriteLine(".Text || "); 4116Writer.Write("Reader.NodeType == "); 4117Writer.Write(typeof(XmlNodeType).FullName); 4118Writer.WriteLine(".CDATA || "); 4119Writer.Write("Reader.NodeType == "); 4120Writer.Write(typeof(XmlNodeType).FullName); 4121Writer.WriteLine(".Whitespace || "); 4122Writer.Write("Reader.NodeType == "); 4123Writer.Write(typeof(XmlNodeType).FullName); 4124Writer.WriteLine(".SignificantWhitespace) {"); 4125Writer.Indent++; 4133Writer.Write(elseString); 4134Writer.WriteLine(";"); 4136Writer.Indent--; 4137Writer.WriteLine("}"); 4150Writer.Write("Document.CreateTextNode(Reader.ReadString())"); 4169Writer.Write("string listValues = "); 4170Writer.WriteLine(text.Mapping!.TypeDesc!.CollapseWhitespace ? "CollapseWhitespace(Reader.ReadString());" : "Reader.ReadString();"); 4171Writer.WriteLine("string[] vals = listValues.Split(xmlListSeparators, System.StringSplitOptions.RemoveEmptyEntries);"); 4172Writer.WriteLine("for (int i = 0; i < vals.Length; i++) {"); 4173Writer.Indent++; 4175Writer.Write("vals[i]"); 4177Writer.WriteLine(";"); 4178Writer.Indent--; 4179Writer.WriteLine("}"); 4188Writer.Write("CollapseWhitespace(Reader.ReadString())"); 4192Writer.Write("Reader.ReadString()"); 4199Writer.Write("tmp = ReadString(tmp, "); 4201Writer.WriteLine("true);"); 4203Writer.WriteLine("false);"); 4206Writer.Write("tmp"); 4217Writer.WriteLine(";"); 4222Writer.WriteLine("string refElemId = null;"); 4223Writer.WriteLine("object refElem = ReadReferencingElement(null, null, true, out refElemId);"); 4225Writer.WriteLine("if (refElemId != null) {"); 4226Writer.Indent++; 4227Writer.Write(checkTypeHrefsSource); 4228Writer.WriteLine(".Add(refElemId);"); 4229Writer.Write(checkTypeHrefsSource); 4230Writer.WriteLine("IsObject.Add(false);"); 4231Writer.Indent--; 4232Writer.WriteLine("}"); 4233Writer.WriteLine("else if (refElem != null) {"); 4234Writer.Indent++; 4235Writer.Write(checkTypeHrefsSource); 4236Writer.WriteLine(".Add(refElem);"); 4237Writer.Write(checkTypeHrefsSource); 4238Writer.WriteLine("IsObject.Add(true);"); 4239Writer.Indent--; 4240Writer.WriteLine("}"); 4260Writer.WriteLine(elementElseString); 4282Writer.WriteLine("switch (state) {"); 4309Writer.WriteLine("do {"); 4310Writer.Indent++; 4317Writer.Write("else "); 4321Writer.Write("case "); 4322Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 4323Writer.WriteLine(":"); 4324Writer.Indent++; 4329Writer.Write("if ("); 4332Writer.Write("!"); 4333Writer.Write(member.ParamsReadSource); 4334Writer.Write(" && "); 4341Writer.Write(RaCodeGen.GetStringForTypeof(td.CSharpName, td.UseReflection)); 4345Writer.Write(RaCodeGen.GetStringForTypeof(e.Mapping!.TypeDesc!.CSharpName, e.Mapping.TypeDesc.UseReflection)); 4347Writer.Write(".IsAssignableFrom("); 4348Writer.Write(checkTypeSource); 4349Writer.Write("Type)"); 4354Writer.Write("(IsReturnValue || "); 4357Writer.Write("true"); 4364Writer.Write(")"); 4366Writer.WriteLine(") {"); 4367Writer.Indent++; 4372Writer.Write("if ("); 4373Writer.Write(checkTypeSource); 4374Writer.WriteLine(" != null) {"); 4375Writer.Indent++; 4381Writer.Write(RaCodeGen.GetStringForCreateInstance(e.Mapping.TypeDesc.CSharpName, e.Mapping.TypeDesc.UseReflection, false, true, $"({td.CSharpName}){checkTypeSource}")); 4386Writer.Write(checkTypeSource); 4389Writer.WriteLine(";"); 4392Writer.Indent--; 4393Writer.WriteLine("}"); 4397Writer.Write("fixup.Ids["); 4398Writer.Write(member.FixupIndex.ToString(CultureInfo.InvariantCulture)); 4399Writer.Write("] = "); 4400Writer.Write(checkTypeSource); 4401Writer.WriteLine("Id;"); 4409Writer.WriteLine("IsReturnValue = false;"); 4412Writer.Write(member.ParamsReadSource); 4413Writer.WriteLine(" = true;"); 4417Writer.WriteLine("break;"); 4419Writer.Indent--; 4420Writer.WriteLine("}"); 4426Writer.WriteLine("else {"); 4427Writer.Indent++; 4430Writer.Write("state = "); 4431Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 4432Writer.WriteLine(";"); 4435Writer.Indent--; 4436Writer.WriteLine("}"); 4438Writer.WriteLine("break;"); 4439Writer.Indent--; 4446Writer.WriteLine("default:"); 4447Writer.Indent++; 4455Writer.WriteLine("break;"); 4457Writer.Indent--; 4460Writer.WriteLine("} while (false);"); 4464Writer.WriteLine("}"); 4525Writer.Write(" soap[1] = "); 4533Writer.Write($"({arrayTypeFullName}[])"); 4534Writer.Write("ShrinkArray("); 4535Writer.Write(a); 4536Writer.Write(", "); 4537Writer.Write(c); 4538Writer.Write(", "); 4539Writer.Write(RaCodeGen.GetStringForTypeof(arrayTypeFullName, arrayUseReflection)); 4540Writer.Write(", "); 4542Writer.Write(")"); 4544Writer.WriteLine(";"); 4555Writer.Write($"({choiceTypeName}[])"); 4556Writer.Write("ShrinkArray("); 4557Writer.Write(a); 4558Writer.Write(", "); 4559Writer.Write(c); 4560Writer.Write(", "); 4561Writer.Write(RaCodeGen.GetStringForTypeof(choiceTypeName, choiceUseReflection)); 4562Writer.Write(", "); 4564Writer.Write(")"); 4566Writer.WriteLine(";"); 4571Writer.Write(member.Source); 4572Writer.Write(" = "); 4573Writer.Write(member.ArrayName); 4574Writer.WriteLine(";"); 4585Writer.Write("("); 4586Writer.Write(typeDesc.CSharpName); 4587Writer.Write(")"); 4593Writer.Write(source); 4595Writer.Write(" = "); 4603Writer.Write(")"); 4605Writer.Write("})"); 4618Writer.WriteLine("if (!GetNullAttr()) {"); 4619Writer.Indent++; 4620Writer.WriteLine("while (Reader.MoveToNextAttribute()) {"); 4621Writer.Indent++; 4622Writer.WriteLine("if (!IsXmlnsAttribute(Reader.Name)) {"); 4623Writer.Indent++; 4624Writer.WriteLine("UnknownNode(null);"); 4625Writer.Indent--; 4626Writer.WriteLine("}"); 4627Writer.Indent--; 4628Writer.WriteLine("}"); 4629Writer.WriteLine("Reader.MoveToElement();"); 4630Writer.Indent--; 4631Writer.WriteLine("}"); 4638Writer.Write("object rre = "); 4639Writer.Write(fixupIndex >= 0 ? "ReadReferencingElement" : "ReadReferencedElement"); 4640Writer.Write("("); 4642Writer.Write(", "); 4646Writer.Write(", "); 4647Writer.Write("out fixup.Ids["); 4648Writer.Write((fixupIndex).ToString(CultureInfo.InvariantCulture)); 4649Writer.Write("]"); 4651Writer.WriteLine(");"); 4656Writer.WriteLine("if (rre != null) {"); 4657Writer.Indent++; 4659Writer.Indent--; 4660Writer.WriteLine("}"); 4664Writer.WriteLine("try {"); 4665Writer.Indent++; 4667Writer.Write("rre"); 4669Writer.WriteLine(";"); 4676Writer.WriteLine("if (!ReadNull()) {"); 4677Writer.Indent++; 4691Writer.Write("if (((object)("); 4692Writer.Write(member.ArrayName); 4693Writer.Write(") == null) || "); 4697Writer.Write("if ("); 4699Writer.WriteLine("(Reader.IsEmptyElement)) {"); 4700Writer.Indent++; 4701Writer.WriteLine("Reader.Skip();"); 4702Writer.Indent--; 4703Writer.WriteLine("}"); 4704Writer.WriteLine("else {"); 4705Writer.Indent++; 4707Writer.WriteLine("Reader.ReadStartElement();"); 4709Writer.Indent++; 4713Writer.WriteLine("Reader.MoveToContent();"); 4716Writer.Indent--; 4717Writer.WriteLine("ReadEndElement();"); 4718Writer.WriteLine("}"); 4722Writer.Indent--; 4723Writer.WriteLine("}"); 4726Writer.WriteLine("else {"); 4727Writer.Indent++; 4731Writer.Indent--; 4732Writer.WriteLine("}"); 4741Writer.Write(checkSpecified); 4742Writer.WriteLine(" = true;"); 4757Writer.Write(methodName); 4758Writer.Write("(true)"); 4760Writer.WriteLine(";"); 4767Writer.WriteLine("if (ReadNull()) {"); 4768Writer.Indent++; 4772Writer.Write(RaCodeGen.GetStringForCreateInstance(element.Mapping.TypeDesc.CSharpName, element.Mapping.TypeDesc.UseReflection, false, false)); 4776Writer.Write("null"); 4779Writer.WriteLine(";"); 4780Writer.Indent--; 4781Writer.WriteLine("}"); 4782Writer.Write("else "); 4786Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4787Writer.Indent++; 4788Writer.WriteLine("Reader.Skip();"); 4789Writer.Indent--; 4790Writer.WriteLine("}"); 4791Writer.WriteLine("else {"); 4795Writer.WriteLine("{"); 4797Writer.Indent++; 4802Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4803Writer.Indent++; 4804Writer.WriteLine("Reader.Skip();"); 4808Writer.Write("default(System.TimeSpan)"); 4812Writer.Write("default(System.DateTimeOffset)"); 4816Writer.Write("default(System.DateOnly)"); 4820Writer.Write("default(System.TimeOnly)"); 4823Writer.WriteLine(";"); 4824Writer.Indent--; 4825Writer.WriteLine("}"); 4826Writer.WriteLine("else {"); 4827Writer.Indent++; 4831Writer.WriteLine(";"); 4832Writer.Indent--; 4833Writer.WriteLine("}"); 4839Writer.Write("ReadElementQualifiedName()"); 4857Writer.WriteLine(";"); 4859Writer.Indent--; 4860Writer.WriteLine("}"); 4867Writer.Write("object rre = "); 4868Writer.Write(fixupIndex >= 0 ? "ReadReferencingElement" : "ReadReferencedElement"); 4869Writer.Write("("); 4871Writer.Write(", "); 4876Writer.Write(", out fixup.Ids["); 4877Writer.Write((fixupIndex).ToString(CultureInfo.InvariantCulture)); 4878Writer.Write("]"); 4880Writer.Write(")"); 4882Writer.WriteLine(";"); 4886Writer.WriteLine("if (rre != null) {"); 4887Writer.Indent++; 4890Writer.WriteLine("try {"); 4891Writer.Indent++; 4893Writer.Write("rre"); 4895Writer.WriteLine(";"); 4897Writer.Write("Referenced("); 4898Writer.Write(source); 4899Writer.WriteLine(");"); 4902Writer.Indent--; 4903Writer.WriteLine("}"); 4916Writer.Write("if ((object)("); 4917Writer.Write(arrayName); 4918Writer.Write(") == null) Reader.Skip(); else "); 4921Writer.Write(methodName); 4922Writer.Write("("); 4926Writer.Write(", "); 4928Writer.Write("true"); 4929Writer.Write(")"); 4931Writer.WriteLine(";"); 4941Writer.Write(isDoc ? "ReadXmlDocument(" : "ReadXmlNode("); 4942Writer.Write(element.Any ? "false" : "true"); 4943Writer.Write(")"); 4945Writer.WriteLine(";"); 4952Writer.Write(typeof(XmlQualifiedName).FullName); 4953Writer.WriteLine(" tser = GetXsiType();"); 4954Writer.Write("if (tser == null"); 4955Writer.Write(" || "); 4958Writer.WriteLine(") {"); 4959Writer.Indent++; 4962Writer.Write("ReadSerializable(( "); 4963Writer.Write(typeof(IXmlSerializable).FullName); 4964Writer.Write(")"); 4967Writer.Write(RaCodeGen.GetStringForCreateInstance(sm.TypeDesc!.CSharpName, false, false, false, "\"default\"")); 4971Writer.Write(RaCodeGen.GetStringForCreateInstance(sm.TypeDesc!.CSharpName, sm.TypeDesc.UseReflection, sm.TypeDesc.CannotNew, false)); 4976Writer.WriteLine(", true"); 4978Writer.Write(")"); 4980Writer.WriteLine(";"); 4983Writer.Indent--; 4984Writer.WriteLine("}"); 5005Writer.Write(choiceSource); 5006Writer.Write(" = "); 5008Writer.Write(RaCodeGen.GetStringForEnumMember(enumTypeName, choice.MemberIds[elementIndex], choice.Mapping.TypeDesc.UseReflection)); 5009Writer.WriteLine(";"); 5019Writer.Write("else if (tser == null"); 5020Writer.Write(" || "); 5023Writer.WriteLine(") {"); 5024Writer.Indent++; 5031Writer.Write("ReadSerializable(( "); 5032Writer.Write(typeof(IXmlSerializable).FullName); 5033Writer.Write(")"); 5034Writer.Write(RaCodeGen.GetStringForCreateInstance(derived.TypeDesc!.CSharpName, derived.TypeDesc.UseReflection, derived.TypeDesc.CannotNew, false)); 5037Writer.WriteLine(", true"); 5039Writer.Write(")"); 5041Writer.WriteLine(";"); 5045Writer.Write("throw CreateBadDerivationException("); 5047Writer.Write(", "); 5049Writer.Write(", "); 5051Writer.Write(", "); 5053Writer.Write(", "); 5055Writer.Write(", "); 5057Writer.WriteLine(");"); 5062Writer.WriteLine($"// missing real mapping for {derived.XsiType}"); 5063Writer.Write("throw CreateMissingIXmlSerializableType("); 5065Writer.Write(", "); 5067Writer.Write(", "); 5069Writer.WriteLine(");"); 5072Writer.Indent--; 5073Writer.WriteLine("}"); 5081Writer.WriteLine("Reader.MoveToContent();"); 5082Writer.Write("while (Reader.NodeType != "); 5083Writer.Write(typeof(XmlNodeType).FullName); 5084Writer.Write(".EndElement && Reader.NodeType != "); 5085Writer.Write(typeof(XmlNodeType).FullName); 5086Writer.WriteLine(".None) {"); 5091Writer.Indent--; 5092Writer.WriteLine("}"); 5098Writer.Write(length <= StackallocLimit ? 5101Writer.Write(length.ToString(CultureInfo.InvariantCulture)); 5102Writer.WriteLine("];"); 5107Writer.WriteLine("Reader.MoveToContent();"); 5108Writer.Write("while (Reader.NodeType == "); 5109Writer.Write(typeof(XmlNodeType).FullName); 5110Writer.WriteLine(".Element) {"); 5111Writer.Indent++; 5112Writer.Write("string root = Reader.GetAttribute(\"root\", \""); 5113Writer.Write(Soap.Encoding); 5114Writer.WriteLine("\");"); 5115Writer.Write("if (root == null || "); 5116Writer.Write(typeof(XmlConvert).FullName); 5117Writer.WriteLine(".ToBoolean(root)) break;"); 5118Writer.WriteLine("ReadReferencedElement();"); 5119Writer.WriteLine("Reader.MoveToContent();"); 5125Writer.Write(value ? "true" : "false"); 5130Writer.Write(typeof(ArrayList).FullName); 5131Writer.Write(" "); 5132Writer.Write(source); 5133Writer.Write(" = new "); 5134Writer.Write(typeof(ArrayList).FullName); 5135Writer.WriteLine("();"); 5137Writer.Write(typeof(ArrayList).FullName); 5138Writer.Write(" "); 5139Writer.Write(source); 5140Writer.Write("IsObject = new "); 5141Writer.Write(typeof(ArrayList).FullName); 5142Writer.WriteLine("();"); 5147Writer.WriteLine("int isObjectIndex = 0;"); 5148Writer.Write("foreach (object obj in "); 5149Writer.Write(listSource); 5150Writer.WriteLine(") {"); 5151Writer.Indent++; 5152Writer.WriteLine("bool isReferenced = true;"); 5153Writer.Write("bool isObject = (bool)"); 5154Writer.Write(listSource); 5155Writer.WriteLine("IsObject[isObjectIndex++];"); 5156Writer.WriteLine("object refObj = isObject ? obj : GetTarget((string)obj);"); 5157Writer.WriteLine("if (refObj == null) continue;"); 5158Writer.Write(typeof(Type).FullName); 5159Writer.WriteLine(" refObjType = refObj.GetType();"); 5160Writer.WriteLine("string refObjId = null;"); 5164Writer.WriteLine("if (isObject && isReferenced) Referenced(refObj); // need to mark this obj as ref'd since we didn't do GetTarget"); 5165Writer.Indent--; 5166Writer.WriteLine("}"); 5171Writer.Write("if (Reader.GetAttribute(\"root\", \""); 5172Writer.Write(Soap.Encoding); 5173Writer.WriteLine("\") == \"0\") {"); 5174Writer.Indent++; 5175Writer.WriteLine(source); 5176Writer.Indent--; 5177Writer.WriteLine("}"); 5186Writer.Write(useReflection ? "object" : fullTypeName); 5187Writer.Write(" "); 5188Writer.Write(local); 5189Writer.WriteLine(";"); 5193Writer.WriteLine("try {"); 5194Writer.Indent++; 5196Writer.Write(local); 5197Writer.Write(" = "); 5198Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, useReflection, mapping.TypeDesc.CannotNew, true)); 5199Writer.WriteLine(";"); 5203Writer.Indent++; 5204Writer.Write("throw CreateInaccessibleConstructorException("); 5206Writer.WriteLine(");"); 5209Writer.Indent++; 5211Writer.Write("throw CreateCtorHasSecurityException("); 5213Writer.WriteLine(");"); 5215Writer.Indent--; 5216Writer.WriteLine("}"); 5222Writer.Indent--; 5223Writer.WriteLine("}"); 5224Writer.Write("catch ("); 5225Writer.Write(exceptionType.FullName); 5226Writer.WriteLine(") {"); 5232Writer.Indent++; 5233Writer.Write("throw CreateInvalidCastException("); 5234Writer.Write(RaCodeGen.GetStringForTypeof(typeDesc.CSharpName, typeDesc.UseReflection)); 5235Writer.Write(", "); 5236Writer.Write(source); 5238Writer.WriteLine(", null);"); 5241Writer.Write(", (string)"); 5242Writer.Write(id); 5243Writer.WriteLine(");"); 5245Writer.Indent--; 5246Writer.WriteLine("}");
System\Xml\Serialization\XmlSerializationWriter.cs (747)
2297Writer.Write(Access); 2298Writer.Write(" class "); 2299Writer.Write(ClassName); 2300Writer.Write(" : "); 2301Writer.Write(typeof(System.Xml.Serialization.XmlSerializationWriter).FullName); 2302Writer.WriteLine(" {"); 2303Writer.Indent++; 2356Writer.Indent--; 2357Writer.WriteLine("}"); 2377Writer.WriteLine(); 2378Writer.WriteLine("protected override void InitCallbacks() {"); 2379Writer.Indent++; 2390Writer.Write("AddWriteCallback("); 2391Writer.Write(RaCodeGen.GetStringForTypeof(typeMapping.TypeDesc.CSharpName, typeMapping.TypeDesc.UseReflection)); 2392Writer.Write(", "); 2394Writer.Write(", "); 2396Writer.Write(", new "); 2397Writer.Write(typeof(System.Xml.Serialization.XmlSerializationWriteCallback).FullName); 2398Writer.Write("(this."); 2399Writer.Write(methodName); 2400Writer.WriteLine("));"); 2405Writer.Indent--; 2406Writer.WriteLine("}"); 2416Writer.WriteLine(" {"); 2417Writer.Indent++; 2420Writer.Write(nullable ? ("WriteNullableQualifiedName" + suffix) : "WriteElementQualifiedName"); 2421Writer.Write("("); 2425Writer.Write(", "); 2428Writer.Write(", "); 2429Writer.Write(source); 2433Writer.Write(", new System.Xml.XmlQualifiedName("); 2435Writer.Write(", "); 2437Writer.Write(")"); 2440Writer.WriteLine(");"); 2444Writer.Indent--; 2445Writer.WriteLine("}"); 2458Writer.Write(methodName); 2459Writer.Write("("); 2460Writer.Write(source); 2461Writer.Write(")"); 2468Writer.Write(source); 2474Writer.Write(typeof(XmlConvert).FullName); 2475Writer.Write(".ToString(("); 2476Writer.Write(typeDesc.CSharpName); 2477Writer.Write(")"); 2478Writer.Write(source); 2479Writer.Write(")"); 2483Writer.Write("From"); 2484Writer.Write(typeDesc.FormatterName); 2485Writer.Write("("); 2486Writer.Write(source); 2487Writer.Write(")"); 2506Writer.Write("if ("); 2508Writer.Write(ReflectionAwareCodeGen.GetStringForEnumLongValue(source, mapping.TypeDesc.UseReflection)); 2510Writer.Write(source); 2511Writer.Write(" != "); 2514Writer.Write("("); 2521Writer.WriteLine(" | "); 2522Writer.Write(RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, values[i], mapping.TypeDesc.UseReflection)); 2524Writer.Write(")"); 2528Writer.Write(RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, (string)defaultValue!, mapping.TypeDesc.UseReflection)); 2530Writer.Write(")"); 2536Writer.WriteLine(" {"); 2537Writer.Indent++; 2540Writer.Write(method); 2541Writer.Write("("); 2545Writer.Write(", "); 2549Writer.Write(", "); 2562Writer.Write(", new System.Xml.XmlQualifiedName("); 2564Writer.Write(", "); 2566Writer.Write(")"); 2569Writer.WriteLine(");"); 2573Writer.Indent--; 2574Writer.WriteLine("}"); 2580Writer.Write(methodName); 2581Writer.Write("("); 2583Writer.Write(", "); 2586Writer.Write("null"); 2592Writer.WriteLine(");"); 2597Writer.Write(methodName); 2598Writer.Write("("); 2600Writer.Write(", "); 2603Writer.Write("null"); 2609Writer.Write(", null, "); 2611Writer.Write("true"); 2613Writer.Write("false"); 2614Writer.WriteLine(");"); 2624Writer.WriteLine("WriteEndElement();"); 2628Writer.Write("WriteEndElement("); 2629Writer.Write(source); 2630Writer.WriteLine(");"); 2657Writer.WriteLine(); 2658Writer.Write("public void "); 2659Writer.Write(methodName); 2660Writer.WriteLine("(object[] p) {"); 2661Writer.Indent++; 2663Writer.WriteLine("WriteStartDocument();"); 2667Writer.WriteLine("TopLevelElement();"); 2673Writer.WriteLine("int pLength = p.Length;"); 2684Writer.Write("if (pLength > "); 2685Writer.Write(xmlnsMember.ToString(CultureInfo.InvariantCulture)); 2686Writer.WriteLine(") {"); 2687Writer.Indent++; 2689Writer.Indent--; 2690Writer.WriteLine("}"); 2718Writer.Write("if (pLength > "); 2719Writer.Write(index); 2720Writer.WriteLine(") {"); 2721Writer.Indent++; 2725Writer.Write("if (pLength <= "); 2726Writer.Write(specifiedPosition.ToString(CultureInfo.InvariantCulture)); 2727Writer.Write(" || "); 2728Writer.Write(specifiedSource); 2729Writer.WriteLine(") {"); 2730Writer.Indent++; 2737Writer.Indent--; 2738Writer.WriteLine("}"); 2741Writer.Indent--; 2742Writer.WriteLine("}"); 2773Writer.Write("if (pLength > "); 2774Writer.Write(index); 2775Writer.WriteLine(") {"); 2776Writer.Indent++; 2780Writer.Write("if (pLength <= "); 2781Writer.Write(specifiedPosition.ToString(CultureInfo.InvariantCulture)); 2782Writer.Write(" || "); 2783Writer.Write(specifiedSource); 2784Writer.WriteLine(") {"); 2785Writer.Indent++; 2812Writer.Write("WriteRpcResult("); 2814Writer.Write(", "); 2816Writer.WriteLine(");"); 2824Writer.Indent--; 2825Writer.WriteLine("}"); 2828Writer.Indent--; 2829Writer.WriteLine("}"); 2841Writer.Write("if (pLength > "); 2842Writer.Write(mapping.Members.Length.ToString(CultureInfo.InvariantCulture)); 2843Writer.WriteLine(") {"); 2844Writer.Indent++; 2848Writer.Indent--; 2849Writer.WriteLine("}"); 2851Writer.WriteLine("WriteReferencedElements();"); 2853Writer.Indent--; 2854Writer.WriteLine("}"); 2864Writer.WriteLine(); 2865Writer.Write("public void "); 2866Writer.Write(methodName); 2867Writer.WriteLine("(object o) {"); 2868Writer.Indent++; 2870Writer.WriteLine("WriteStartDocument();"); 2872Writer.WriteLine("if (o == null) {"); 2873Writer.Indent++; 2883Writer.WriteLine("return;"); 2884Writer.Indent--; 2885Writer.WriteLine("}"); 2889Writer.WriteLine("TopLevelElement();"); 2896Writer.WriteLine("WriteReferencedElements();"); 2898Writer.Indent--; 2899Writer.WriteLine("}"); 2911Writer.WriteLine(); 2915Writer.Write("void "); 2916Writer.Write(methodName); 2917Writer.WriteLine("(object e) {"); 2922Writer.Write("string "); 2923Writer.Write(methodName); 2924Writer.Write("("); 2925Writer.Write(mapping.TypeDesc.UseReflection ? "object" : fullTypeName); 2926Writer.WriteLine(" v) {"); 2928Writer.Indent++; 2929Writer.WriteLine("string s = null;"); 2936Writer.WriteLine($"switch ({ReflectionAwareCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)} ){{"); 2938Writer.WriteLine("switch (v) {"); 2939Writer.Indent++; 2946Writer.Write("s = "); 2948Writer.WriteLine("; break;"); 2956Writer.Write("default: s = FromEnum("); 2957Writer.Write(ReflectionAwareCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)); 2958Writer.Write(", new string[] {"); 2959Writer.Indent++; 2964Writer.WriteLine(", "); 2967Writer.Write("}, new "); 2968Writer.Write(typeof(long).FullName); 2969Writer.Write("[] {"); 2975Writer.WriteLine(", "); 2976Writer.Write("(long)"); 2978Writer.Write(c.Value.ToString(CultureInfo.InvariantCulture)); 2981Writer.Write(fullTypeName); 2982Writer.Write(".@"); 2984Writer.Write(c.Name); 2987Writer.Indent--; 2988Writer.Write("}, "); 2990Writer.WriteLine("); break;"); 2994Writer.Write("default: throw CreateInvalidEnumValueException("); 2995Writer.Write(ReflectionAwareCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)); 2996Writer.Write(".ToString(System.Globalization.CultureInfo.InvariantCulture), "); 2998Writer.WriteLine(");"); 3000Writer.Indent--; 3001Writer.WriteLine("}"); 3005Writer.Write("WriteXsiType("); 3007Writer.Write(", "); 3009Writer.WriteLine(");"); 3010Writer.WriteLine("Writer.WriteString(s);"); 3014Writer.WriteLine("return s;"); 3016Writer.Indent--; 3017Writer.WriteLine("}"); 3025Writer.Write("if ("); 3027Writer.WriteLine(") {"); 3028Writer.Indent++; 3037Writer.Write(methodName); 3038Writer.Write("(n, ns,"); 3039if (!derived.TypeDesc.UseReflection) Writer.Write($"({fullTypeName})"); 3040Writer.Write("o"); 3042Writer.Write(", isNullable"); 3043Writer.Write(", true"); 3044Writer.WriteLine(");"); 3045Writer.WriteLine("return;"); 3046Writer.Indent--; 3047Writer.WriteLine("}"); 3064Writer.Write("if ("); 3066Writer.WriteLine(") {"); 3067Writer.Indent++; 3075Writer.WriteLine("Writer.WriteStartElement(n, ns);"); 3076Writer.Write("WriteXsiType("); 3078Writer.Write(", "); 3080Writer.WriteLine(");"); 3081Writer.Write("Writer.WriteString("); 3082Writer.Write(methodName); 3083Writer.Write("("); 3084if (!mapping.TypeDesc.UseReflection) Writer.Write($"({fullTypeName})"); 3085Writer.WriteLine("o));"); 3086Writer.WriteLine("Writer.WriteEndElement();"); 3087Writer.WriteLine("return;"); 3088Writer.Indent--; 3089Writer.WriteLine("}"); 3096Writer.Write("if ("); 3101Writer.WriteLine(") {"); 3102Writer.Indent++; 3104Writer.WriteLine("Writer.WriteStartElement(n, ns);"); 3105Writer.Write("WriteXsiType("); 3107Writer.Write(", "); 3109Writer.WriteLine(");"); 3113Writer.WriteLine("Writer.WriteEndElement();"); 3114Writer.WriteLine("return;"); 3115Writer.Indent--; 3116Writer.WriteLine("}"); 3128Writer.WriteLine(); 3129Writer.Write("void "); 3130Writer.Write(methodName); 3136Writer.WriteLine("(object s) {"); 3137Writer.Indent++; 3142Writer.Write("(string n, string ns, "); 3143Writer.Write(mapping.TypeDesc.UseReflection ? "object" : fullTypeName); 3144Writer.Write(" o"); 3146Writer.Write(", bool isNullable"); 3147Writer.WriteLine(", bool needType) {"); 3148Writer.Indent++; 3151Writer.WriteLine("if ((object)o == null) {"); 3152Writer.Indent++; 3153Writer.WriteLine("if (isNullable) WriteNullTagLiteral(n, ns);"); 3154Writer.WriteLine("return;"); 3155Writer.Indent--; 3156Writer.WriteLine("}"); 3158Writer.WriteLine("if (!needType) {"); 3159Writer.Indent++; 3161Writer.Write(typeof(Type).FullName); 3162Writer.WriteLine(" t = o.GetType();"); 3163Writer.Write("if ("); 3165Writer.WriteLine(") {"); 3166Writer.WriteLine("}"); 3167Writer.WriteLine("else {"); 3168Writer.Indent++; 3175Writer.WriteLine("WriteTypedPrimitive(n, ns, o, true);"); 3176Writer.WriteLine("return;"); 3180Writer.WriteLine("throw CreateUnknownTypeException(o);"); 3182Writer.Indent--; 3183Writer.WriteLine("}"); 3184Writer.Indent--; 3185Writer.WriteLine("}"); 3192Writer.WriteLine("EscapeName = false;"); 3211Writer.Write("WriteStartElement(n, ns, o, false, "); 3213Writer.Write("null"); 3215Writer.Write(xmlnsSource); 3217Writer.WriteLine(");"); 3220Writer.Write("if (needType) WriteXsiType("); 3222Writer.Write(", "); 3224Writer.WriteLine(");"); 3239Writer.Write("if ("); 3242Writer.Write(methodInvoke); 3243Writer.WriteLine(") {"); 3244Writer.Indent++; 3248Writer.Write("if ("); 3251Writer.Write(memberGet); 3252Writer.WriteLine(") {"); 3253Writer.Indent++; 3259Writer.Indent--; 3260Writer.WriteLine("}"); 3264Writer.Indent--; 3265Writer.WriteLine("}"); 3280Writer.Write("if ("); 3283Writer.Write(methodInvoke); 3284Writer.WriteLine(") {"); 3285Writer.Indent++; 3289Writer.Write("if ("); 3292Writer.Write(memberGet); 3293Writer.WriteLine(") {"); 3294Writer.Indent++; 3307Writer.Indent--; 3308Writer.WriteLine("}"); 3312Writer.Indent--; 3313Writer.WriteLine("}"); 3321Writer.Indent--; 3322Writer.WriteLine("}"); 3340Writer.WriteLine("{"); 3341Writer.Indent++; 3346Writer.WriteLine("if (a != null) {"); 3347Writer.Indent++; 3353Writer.Write("Writer.WriteStartAttribute(null, "); 3355Writer.Write(", "); 3363Writer.Write("null"); 3365Writer.WriteLine(");"); 3369Writer.Write(typeof(StringBuilder).FullName); 3370Writer.Write(" sb = new "); 3371Writer.Write(typeof(StringBuilder).FullName); 3372Writer.WriteLine("();"); 3379Writer.Write(" e = "); 3380Writer.Write(typeof(IEnumerator).FullName); 3383Writer.Write("(("); 3384Writer.Write(typeof(IEnumerable).FullName); 3385Writer.WriteLine(").GetEnumerator();"); 3392Writer.Write("("); 3393Writer.Write(typeof(IEnumerator).FullName); 3394Writer.Write(")"); 3395Writer.Write(RaCodeGen.GetReflectionVariable(memberTypeDesc.CSharpName, "System.Collections.Generic.IEnumerable*")); 3396Writer.WriteLine(".Invoke(a, new object[0]);"); 3400Writer.Write("((System.Collections.Generic.IEnumerable<"); 3401Writer.Write(arrayElementTypeDesc.CSharpName); 3402Writer.WriteLine(">)a).GetEnumerator();"); 3409Writer.Write("("); 3410Writer.Write(typeof(IEnumerator).FullName); 3411Writer.Write(")"); 3413Writer.Write(RaCodeGen.GetStringForMethodInvoke("a", memberTypeDesc.CSharpName, "GetEnumerator", memberTypeDesc.UseReflection)); 3414Writer.WriteLine(";"); 3416Writer.WriteLine("if (e != null)"); 3417Writer.WriteLine("while (e.MoveNext()) {"); 3418Writer.Indent++; 3425Writer.Write("for (int i = 0; i < "); 3428Writer.WriteLine("a.Length; i++) {"); 3432Writer.Write("(("); 3433Writer.Write(typeof(ICollection).FullName); 3434Writer.WriteLine(")a).Count; i++) {"); 3436Writer.Indent++; 3445Writer.WriteLine("if (i != 0) Writer.WriteString(\" \");"); 3446Writer.Write("WriteValue("); 3450Writer.WriteLine("if (i != 0) sb.Append(\" \");"); 3451Writer.Write("sb.Append("); 3457Writer.WriteLine(");"); 3463Writer.Indent--; 3464Writer.WriteLine("}"); 3470Writer.WriteLine("Writer.WriteEndAttribute();"); 3474Writer.WriteLine("if (sb.Length != 0) {"); 3475Writer.Indent++; 3477Writer.Write("WriteAttribute("); 3479Writer.Write(", "); 3484Writer.Write(", "); 3486Writer.WriteLine("sb.ToString());"); 3487Writer.Indent--; 3488Writer.WriteLine("}"); 3494Writer.Indent--; 3495Writer.WriteLine("}"); 3497Writer.Indent--; 3498Writer.WriteLine("}"); 3513Writer.Write("WriteXmlAttribute("); 3514Writer.Write(source); 3515Writer.Write(", "); 3516Writer.Write(parent); 3517Writer.WriteLine(");"); 3544Writer.WriteLine("{"); 3545Writer.Indent++; 3550Writer.WriteLine("if (a != null) {"); 3551Writer.Indent++; 3559Writer.WriteLine("if (c == null || c.Length < a.Length) {"); 3560Writer.Indent++; 3561Writer.Write("throw CreateInvalidChoiceIdentifierValueException("); 3563Writer.Write(", "); 3565Writer.Write(");"); 3566Writer.Indent--; 3567Writer.WriteLine("}"); 3573Writer.Indent--; 3574Writer.WriteLine("}"); 3576Writer.Indent--; 3577Writer.WriteLine("}"); 3592Writer.Write(typeof(IEnumerator).FullName); 3593Writer.Write(" e = "); 3596Writer.Write("(("); 3597Writer.Write(typeof(IEnumerable).FullName); 3598Writer.Write(")"); 3599Writer.Write(arrayName); 3600Writer.WriteLine(").GetEnumerator();"); 3607Writer.Write("("); 3608Writer.Write(typeof(IEnumerator).FullName); 3609Writer.Write(")"); 3610Writer.Write(RaCodeGen.GetReflectionVariable(arrayTypeDesc.CSharpName, "System.Collections.Generic.IEnumerable*")); 3611Writer.Write(".Invoke("); 3612Writer.Write(arrayName); 3613Writer.WriteLine(", new object[0]);"); 3617Writer.Write("((System.Collections.Generic.IEnumerable<"); 3618Writer.Write(arrayElementTypeDesc.CSharpName); 3619Writer.Write(">)"); 3620Writer.Write(arrayName); 3621Writer.WriteLine(").GetEnumerator();"); 3628Writer.Write("("); 3629Writer.Write(typeof(IEnumerator).FullName); 3630Writer.Write(")"); 3632Writer.Write(RaCodeGen.GetStringForMethodInvoke(arrayName, arrayTypeDesc.CSharpName, "GetEnumerator", arrayTypeDesc.UseReflection)); 3633Writer.WriteLine(";"); 3637Writer.WriteLine($"bool {listSepName} = false;"); 3639Writer.WriteLine("if (e != null)"); 3640Writer.WriteLine("while (e.MoveNext()) {"); 3641Writer.Indent++; 3646Writer.WriteLine($"if ({listSepName}) WriteValue(\" \");"); 3647Writer.WriteLine($"{listSepName} = true;"); 3653Writer.Write("for (int i"); 3654Writer.Write(arrayName); 3655Writer.Write(" = 0; i"); 3656Writer.Write(arrayName); 3657Writer.Write(" < "); 3660Writer.Write(arrayName); 3661Writer.Write(".Length"); 3665Writer.Write("(("); 3666Writer.Write(typeof(ICollection).FullName); 3667Writer.Write(")"); 3668Writer.Write(arrayName); 3669Writer.Write(").Count"); 3671Writer.Write("; i"); 3672Writer.Write(arrayName); 3673Writer.WriteLine("++) {"); 3674Writer.Indent++; 3691Writer.WriteLine($"if (i{arrayName} != 0) WriteValue(\" \");"); 3696Writer.Indent--; 3697Writer.WriteLine("}"); 3721Writer.Write("if ((object)("); 3722Writer.Write(source); 3723Writer.Write(") != null)"); 3725Writer.WriteLine("{"); 3726Writer.Indent++; 3756if (wroteFirstIf) Writer.Write("else "); 3758Writer.Write("if ("); 3759Writer.Write(enumUseReflection ? ReflectionAwareCodeGen.GetStringForEnumLongValue(enumSource!, enumUseReflection) : enumSource); 3760Writer.Write(" == "); 3761Writer.Write(enumFullName); 3764Writer.Write(" && ((object)("); 3765Writer.Write(source); 3766Writer.Write(") != null)"); 3768Writer.WriteLine(") {"); 3769Writer.Indent++; 3777Writer.Indent--; 3778Writer.WriteLine("}"); 3785if (wroteFirstIf) Writer.Write("else "); 3787Writer.Write("if ("); 3789Writer.WriteLine(") {"); 3790Writer.Indent++; 3795Writer.Indent--; 3796Writer.WriteLine("}"); 3801if (elements.Length - anyCount > 0) Writer.Write("else "); 3805Writer.Write("if ("); 3806Writer.Write(source); 3807Writer.Write(" is "); 3808Writer.Write(fullTypeName); 3809Writer.WriteLine(") {"); 3810Writer.Indent++; 3812Writer.Write(fullTypeName); 3813Writer.Write(" elem = ("); 3814Writer.Write(fullTypeName); 3815Writer.Write(")"); 3816Writer.Write(source); 3817Writer.WriteLine(";"); 3823if (c++ > 0) Writer.Write("else "); 3831Writer.Write("if ("); 3832Writer.Write(enumUseReflection ? ReflectionAwareCodeGen.GetStringForEnumLongValue(enumSource!, enumUseReflection) : enumSource); 3833Writer.Write(" == "); 3834Writer.Write(enumFullName); 3837Writer.Write(" && ((object)("); 3838Writer.Write(source); 3839Writer.Write(") != null)"); 3841Writer.WriteLine(") {"); 3842Writer.Indent++; 3844Writer.Write("if (elem.Name == "); 3846Writer.Write(" && elem.NamespaceURI == "); 3848Writer.WriteLine(") {"); 3849Writer.Indent++; 3854Writer.Indent--; 3855Writer.WriteLine("}"); 3856Writer.WriteLine("else {"); 3857Writer.Indent++; 3859Writer.WriteLine("// throw Value '{0}' of the choice identifier '{1}' does not match element '{2}' from namespace '{3}'."); 3861Writer.Write("throw CreateChoiceIdentifierValueException("); 3863Writer.Write(", "); 3865Writer.WriteLine(", elem.Name, elem.NamespaceURI);"); 3866Writer.Indent--; 3867Writer.WriteLine("}"); 3869Writer.Indent--; 3870Writer.WriteLine("}"); 3874Writer.WriteLine("else {"); 3875Writer.Indent++; 3883Writer.WriteLine("throw CreateUnknownAnyElementException(elem.Name, elem.NamespaceURI);"); 3887Writer.Indent--; 3888Writer.WriteLine("}"); 3890Writer.Indent--; 3891Writer.WriteLine("}"); 3899Writer.Write("else "); 3900Writer.Write("if ("); 3902Writer.WriteLine(") {"); 3903Writer.Indent++; 3908Writer.Indent--; 3909Writer.WriteLine("}"); 3921Writer.Write("else "); 3925Writer.Write(" if ((object)("); 3926Writer.Write(source); 3927Writer.Write(") != null)"); 3930Writer.WriteLine("{"); 3931Writer.Indent++; 3933Writer.Write("throw CreateUnknownTypeException("); 3934Writer.Write(source); 3935Writer.WriteLine(");"); 3937Writer.Indent--; 3938Writer.WriteLine("}"); 3940Writer.Indent--; 3941Writer.WriteLine("}"); 3949Writer.Write("WriteValue("); 3958Writer.WriteLine(");"); 3965Writer.Write(source); 3966Writer.WriteLine(".WriteTo(Writer);"); 3981Writer.Write("if ("); 3982Writer.Write(source); 3983Writer.WriteLine(" != null) {"); 3984Writer.Indent++; 3992Writer.Indent--; 3993Writer.WriteLine("}"); 3996Writer.WriteLine("else {"); 3997Writer.Indent++; 3999Writer.Indent--; 4000Writer.WriteLine("}"); 4007Writer.Write("WritePotentiallyReferencingElement("); 4009Writer.Write(", "); 4011Writer.Write(", "); 4012Writer.Write(source); 4015Writer.Write(", "); 4016Writer.Write(RaCodeGen.GetStringForTypeof(arrayMapping.TypeDesc!.CSharpName, arrayMapping.TypeDesc.UseReflection)); 4017Writer.Write(", true, "); 4021Writer.Write(", null, false, "); 4024Writer.WriteLine(");"); 4032Writer.WriteLine("{"); 4033Writer.Indent++; 4043Writer.Write("if ("); 4044Writer.Write(elementArrayName); 4045Writer.Write(" != null)"); 4047Writer.WriteLine("{"); 4048Writer.Indent++; 4051Writer.Write("for (int "); 4052Writer.Write(arrayIndex); 4053Writer.Write(" = 0; "); 4054Writer.Write(arrayIndex); 4055Writer.Write(" < "); 4059Writer.Write(elementArrayName); 4060Writer.Write(".Length"); 4064Writer.Write("(("); 4065Writer.Write(typeof(ICollection).FullName); 4066Writer.Write(")"); 4067Writer.Write(elementArrayName); 4068Writer.Write(").Count"); 4070Writer.Write("; "); 4071Writer.Write(arrayIndex); 4072Writer.WriteLine("++) {"); 4073Writer.Indent++; 4079Writer.Indent--; 4080Writer.WriteLine("}"); 4082Writer.Indent--; 4083Writer.WriteLine("}"); 4084Writer.Indent--; 4085Writer.WriteLine("}"); 4090Writer.WriteLine("{"); 4091Writer.Indent++; 4101Writer.Write("if ("); 4102Writer.Write(arrayName); 4103Writer.Write(" != null)"); 4105Writer.WriteLine("{"); 4106Writer.Indent++; 4111Writer.Indent--; 4112Writer.WriteLine("}"); 4113Writer.Indent--; 4114Writer.WriteLine("}"); 4122Writer.Write("Writer.WriteStartElement("); 4124Writer.Write(", "); 4126Writer.WriteLine(");"); 4127Writer.Write(methodName); 4128Writer.Write("("); 4129Writer.Write(source); 4130Writer.WriteLine(");"); 4154Writer.Write("WritePotentiallyReferencingElement("); 4156Writer.Write(", "); 4158Writer.Write(", "); 4159Writer.Write(source); 4162Writer.Write(", "); 4163Writer.Write(RaCodeGen.GetStringForTypeof(structMapping.TypeDesc!.CSharpName, structMapping.TypeDesc.UseReflection)); 4164Writer.Write(", true, "); 4168Writer.Write(", null, false, "); 4180Writer.Write(methodName); 4181Writer.Write("("); 4183Writer.Write(", "); 4185Writer.Write("null"); 4190Writer.Write(", "); 4191Writer.Write(source); 4194Writer.Write(", "); 4197Writer.Write(", false"); 4199Writer.WriteLine(");"); 4210Writer.Write("if (("); 4211Writer.Write(source); 4212Writer.Write(") is "); 4213Writer.Write(typeof(XmlNode).FullName); 4214Writer.Write(" || "); 4215Writer.Write(source); 4216Writer.Write(" == null"); 4217Writer.WriteLine(") {"); 4218Writer.Indent++; 4222Writer.Indent--; 4223Writer.WriteLine("}"); 4224Writer.WriteLine("else {"); 4225Writer.Indent++; 4227Writer.Write("throw CreateInvalidAnyTypeException("); 4228Writer.Write(source); 4229Writer.WriteLine(");"); 4231Writer.Indent--; 4232Writer.WriteLine("}"); 4243Writer.Write(func); 4244Writer.Write("(("); 4245Writer.Write(cast.FullName); 4246Writer.Write(")"); 4247Writer.Write(source); 4248Writer.Write(", "); 4250Writer.Write(", "); 4252Writer.Write(", "); 4254Writer.Write(", "); 4256Writer.WriteLine(");"); 4262Writer.Write("if ("); 4267Writer.Write("("); 4268Writer.Write(source); 4270Writer.Write(" == null) || ("); 4272Writer.Write(" != null) && ("); 4273Writer.Write(source); 4274Writer.Write(".Length != 0)"); 4278Writer.Write("!"); 4279Writer.Write(source); 4280Writer.Write(".Equals("); 4283Writer.Write(")"); 4287Writer.Write(source); 4288Writer.Write(" != "); 4292Writer.Write(")"); 4297Writer.Write("if (((object)"); 4298Writer.Write(source); 4299Writer.Write(") != null && !("); 4301Writer.Write(")) throw CreateMismatchChoiceException("); 4303Writer.Write(", "); 4305Writer.Write(", "); 4307Writer.WriteLine(");"); 4312Writer.Write("if ((object)("); 4313Writer.Write(source); 4314Writer.WriteLine(") == null) {"); 4315Writer.Indent++; 4317Writer.Indent--; 4318Writer.WriteLine("}"); 4319Writer.WriteLine("else {"); 4320Writer.Indent++; 4327Writer.Write("null"); 4340Writer.Write('\''); 4343Writer.Write("\'"); 4345Writer.Write(ch); 4346Writer.Write('\''); 4349Writer.Write(((int)value).ToString(null, NumberFormatInfo.InvariantInfo)); 4354Writer.Write("System.Double.NaN"); 4358Writer.Write("System.Double.PositiveInfinity"); 4362Writer.Write("System.Double.NegativeInfinity"); 4366Writer.Write(((double)value).ToString("R", NumberFormatInfo.InvariantInfo)); 4370Writer.Write((bool)value ? "true" : "false"); 4373Writer.Write("("); 4374Writer.Write(type.FullName); 4375Writer.Write(")"); 4376Writer.Write("("); 4377Writer.Write(Convert.ToString(value, NumberFormatInfo.InvariantInfo)); 4378Writer.Write(")"); 4384Writer.Write("System.Single.NaN"); 4388Writer.Write("System.Single.PositiveInfinity"); 4392Writer.Write("System.Single.NegativeInfinity"); 4396Writer.Write(((float)value).ToString("R", NumberFormatInfo.InvariantInfo)); 4397Writer.Write("f"); 4402Writer.Write(((decimal)value).ToString(null, NumberFormatInfo.InvariantInfo)); 4403Writer.Write("m"); 4407Writer.Write(" new "); 4408Writer.Write(type.FullName); 4409Writer.Write("("); 4410Writer.Write(((DateTime)value).Ticks.ToString(CultureInfo.InvariantCulture)); 4411Writer.Write(")"); 4415Writer.Write(" new "); 4416Writer.Write(type.FullName); 4417Writer.Write("("); 4418Writer.Write(((DateTimeOffset)value).Ticks.ToString(CultureInfo.InvariantCulture)); 4419Writer.Write(", new "); 4420Writer.Write(((DateTimeOffset)value).Offset.GetType().FullName); 4421Writer.Write("("); 4422Writer.Write(((DateTimeOffset)value).Offset.Ticks.ToString(CultureInfo.InvariantCulture)); 4423Writer.Write("))"); 4427Writer.Write(" new "); 4428Writer.Write(type.FullName); 4429Writer.Write("("); 4430Writer.Write(((TimeSpan)value).Ticks.ToString(CultureInfo.InvariantCulture)); 4431Writer.Write(")"); 4435Writer.Write(" new "); 4436Writer.Write(type.FullName); 4437Writer.Write("("); 4438Writer.Write(((DateOnly)value).Year.ToString(CultureInfo.InvariantCulture)); 4439Writer.Write(", "); 4440Writer.Write(((DateOnly)value).Month.ToString(CultureInfo.InvariantCulture)); 4441Writer.Write(", "); 4442Writer.Write(((DateOnly)value).Day.ToString(CultureInfo.InvariantCulture)); 4443Writer.Write(")"); 4447Writer.Write(" new "); 4448Writer.Write(type.FullName); 4449Writer.Write("("); 4450Writer.Write(((TimeOnly)value).Ticks.ToString(CultureInfo.InvariantCulture)); 4451Writer.Write(")"); 4457Writer.Write(((int)value).ToString(null, NumberFormatInfo.InvariantInfo)); 4470Writer.Write("WriteNamespaceDeclarations("); 4471Writer.Write(source); 4472Writer.WriteLine(");"); 4488Writer.Write("for (int i = "); 4489Writer.Write(loopStartSource); 4490Writer.Write("; i < "); 4491Writer.Write(loopEndSource); 4492Writer.WriteLine("; i++) {"); 4493Writer.Indent++; 4494Writer.WriteLine("if (p[i] != null) {"); 4495Writer.Indent++; 4496Writer.WriteLine("WritePotentiallyReferencingElement(null, null, p[i], p[i].GetType(), true, false);"); 4497Writer.Indent--; 4498Writer.WriteLine("}"); 4499Writer.Indent--; 4500Writer.WriteLine("}");