1717 references to Writer
System.Private.Xml (1717)
System\Xml\Serialization\XmlSerializationReader.cs (970)
2284Writer.Write(Access); 2285Writer.Write(" class "); 2286Writer.Write(ClassName); 2287Writer.Write(" : "); 2288Writer.Write(typeof(System.Xml.Serialization.XmlSerializationReader).FullName); 2289Writer.WriteLine(" {"); 2290Writer.Indent++; 2351Writer.WriteLine(); 2354Writer.Write("string "); 2355Writer.Write(idName); 2356Writer.WriteLine(";"); 2368Writer.WriteLine(); 2369Writer.WriteLine("static readonly char[] xmlListSeparators = System.AppContext.TryGetSwitch(\"Switch.System.Xml.Serialization.UseLegacyXmlListSeparation\", out bool useLegacyXmlListSeparation) && useLegacyXmlListSeparation ? null : new char[] { ' ', '\\t', '\\n', '\\r' };"); 2372Writer.WriteLine(); 2373Writer.WriteLine("protected override void InitIDs() {"); 2374Writer.Indent++; 2379Writer.Write(idName); 2380Writer.Write(" = Reader.NameTable.Add("); 2382Writer.WriteLine(");"); 2384Writer.Indent--; 2385Writer.WriteLine("}"); 2387Writer.Indent--; 2388Writer.WriteLine("}"); 2407Writer.Write("if (Reader.IsStartElement("); 2409Writer.Write(", "); 2411Writer.WriteLine(")) {"); 2412Writer.Indent++; 2419Writer.WriteLine("else {"); 2420Writer.Indent++; 2422Writer.Write(func); 2423Writer.Write("("); 2424Writer.Write(node); 2427Writer.Write(", "); 2431ReflectionAwareCodeGen.WriteQuotedCSharpString(Writer, expectedElement); 2433Writer.WriteLine(");"); 2436Writer.Indent--; 2437Writer.WriteLine("}"); 2443Writer.WriteLine(); 2444Writer.WriteLine("protected override void InitCallbacks() {"); 2445Writer.Indent++; 2466Writer.Write("AddReadCallback("); 2468Writer.Write(", "); 2470Writer.Write(", "); 2471Writer.Write(RaCodeGen.GetStringForTypeof(mapping.TypeDesc.CSharpName, mapping.TypeDesc.UseReflection)); 2472Writer.Write(", new "); 2473Writer.Write(typeof(XmlSerializationReadCallback).FullName); 2474Writer.Write("(this."); 2475Writer.Write(methodName); 2476Writer.WriteLine("));"); 2481Writer.Indent--; 2482Writer.WriteLine("}"); 2486Writer.WriteLine(); 2487Writer.Write("object "); 2488Writer.Write(dummyArrayMethodName); 2489Writer.WriteLine("() {"); 2490Writer.Indent++; 2491Writer.WriteLine("// dummy array method"); 2492Writer.WriteLine("UnknownNode(null);"); 2493Writer.WriteLine("return null;"); 2494Writer.Indent--; 2495Writer.WriteLine("}"); 2543Writer.WriteLine(); 2544Writer.Write("public object[] "); 2545Writer.Write(methodName); 2546Writer.WriteLine("() {"); 2547Writer.Indent++; 2548Writer.WriteLine("Reader.MoveToContent();"); 2550Writer.Write("object[] p = new object["); 2551Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2552Writer.WriteLine("];"); 2558Writer.Indent++; 2636if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2646Writer.WriteLine("Reader.MoveToElement();"); 2653Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); Reader.MoveToContent(); continue; }"); 2654Writer.WriteLine("Reader.ReadStartElement();"); 2658Writer.WriteLine("int state = 0;"); 2661Writer.Indent++; 2666Writer.WriteLine("Reader.MoveToContent();"); 2673Writer.WriteLine("ReadEndElement();"); 2675Writer.Indent--; 2676Writer.WriteLine("}"); 2680Writer.WriteLine("Reader.MoveToContent();"); 2684Writer.WriteLine("return p;"); 2685Writer.Indent--; 2686Writer.WriteLine("}"); 2697Writer.Write(arrayName); 2698Writer.Write("["); 2699Writer.Write(i.ToString(CultureInfo.InvariantCulture)); 2700Writer.Write("] = "); 2704Writer.Write("null"); 2708Writer.Write(RaCodeGen.GetStringForCreateInstance(mappings[i].TypeDesc!.CSharpName, mappings[i].TypeDesc!.UseReflection, false, false)); 2710Writer.WriteLine(";"); 2722Writer.WriteLine(); 2723Writer.Write("public object[] "); 2724Writer.Write(methodName); 2725Writer.WriteLine("() {"); 2726Writer.Indent++; 2728Writer.WriteLine("Reader.MoveToContent();"); 2730Writer.Write("object[] p = new object["); 2731Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2732Writer.WriteLine("];"); 2741Writer.Write("if (!"); 2743Writer.WriteLine(") throw CreateUnknownNodeException();"); 2745Writer.WriteLine("bool isEmptyWrapper = Reader.IsEmptyElement;"); 2746Writer.WriteLine("Reader.ReadStartElement();"); 2781if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2789Writer.Indent++; 2793Writer.WriteLine("Reader.MoveToContent();"); 2798Writer.WriteLine("if (!isEmptyWrapper) ReadEndElement();"); 2803Writer.WriteLine("ReadReferencedElements();"); 2804Writer.WriteLine("return p;"); 2806Writer.Indent--; 2807Writer.WriteLine("}"); 2824Writer.Write(item); 2825Writer.Write(" "); 2826Writer.Write("ci ="); 2827Writer.Write($"({item})"); 2828Writer.Write(source); 2829Writer.WriteLine(";"); 2831Writer.WriteLine("for (int i = 0; i < ci.Length; i++) {"); 2832Writer.Indent++; 2833Writer.Write(RaCodeGen.GetStringForMethod("c", td.CSharpName, "Add", useReflection)); 2838Writer.Write("ci[i]"); 2840Writer.Write($"{RaCodeGen.GetReflectionVariable(typeof(Array).FullName!, "0")}[ci , i]"); 2843if (useReflection) Writer.WriteLine("}"); 2844Writer.WriteLine(");"); 2845Writer.Indent--; 2846Writer.WriteLine("}"); 2854Writer.WriteLine(); 2855Writer.Write("public object "); 2856Writer.Write(methodName); 2857Writer.WriteLine("() {"); 2858Writer.Indent++; 2859Writer.WriteLine("object o = null;"); 2865Writer.WriteLine("Reader.MoveToContent();"); 2870Writer.WriteLine("Referenced(o);"); 2871Writer.WriteLine("ReadReferencedElements();"); 2873Writer.WriteLine("return (object)o;"); 2874Writer.Indent--; 2875Writer.WriteLine("}"); 2894Writer.Write("("); 2895Writer.Write(mapping.TypeDesc!.CSharpName); 2896Writer.Write(")"); 2898Writer.Write(enumMethodName); 2899Writer.Write("("); 2900if (!mapping.IsSoap) Writer.Write(source); 2901Writer.Write(")"); 2905Writer.Write(source); 2911Writer.Write("CollapseWhitespace("); 2912Writer.Write(source); 2913Writer.Write(")"); 2917Writer.Write(source); 2924Writer.Write(typeof(XmlConvert).FullName); 2925Writer.Write("."); 2927Writer.Write("To"); 2928Writer.Write(mapping.TypeDesc.FormatterName); 2929Writer.Write("("); 2930Writer.Write(source); 2931Writer.Write(")"); 2966Writer.WriteLine(); 2967Writer.Write(typeof(Hashtable).FullName); 2968Writer.Write(" "); 2969Writer.Write(memberName); 2970Writer.WriteLine(";"); 2971Writer.WriteLine(); 2973Writer.Write("internal "); 2974Writer.Write(typeof(Hashtable).FullName); 2975Writer.Write(" "); 2976Writer.Write(propName); 2977Writer.WriteLine(" {"); 2978Writer.Indent++; 2980Writer.WriteLine("get {"); 2981Writer.Indent++; 2983Writer.Write("if ((object)"); 2984Writer.Write(memberName); 2985Writer.WriteLine(" == null) {"); 2986Writer.Indent++; 2988Writer.Write(typeof(Hashtable).FullName); 2989Writer.Write(" h = new "); 2990Writer.Write(typeof(Hashtable).FullName); 2991Writer.WriteLine("();"); 2997Writer.Write("h.Add("); 3001Writer.Write(", (long)"); 3002Writer.Write(mapping.TypeDesc.CSharpName); 3003Writer.Write(".@"); 3005Writer.Write(constants[i].Name); 3009Writer.Write(", "); 3010Writer.Write(string.Create(CultureInfo.InvariantCulture, $"{constants[i].Value}L")); 3013Writer.WriteLine(");"); 3016Writer.Write(memberName); 3017Writer.WriteLine(" = h;"); 3019Writer.Indent--; 3020Writer.WriteLine("}"); 3022Writer.Write("return "); 3023Writer.Write(memberName); 3024Writer.WriteLine(";"); 3026Writer.Indent--; 3027Writer.WriteLine("}"); 3029Writer.Indent--; 3030Writer.WriteLine("}"); 3042Writer.WriteLine(); 3048Writer.Write("object"); 3049Writer.Write(" "); 3050Writer.Write(methodName); 3051Writer.WriteLine("() {"); 3052Writer.Indent++; 3053Writer.WriteLine("string s = Reader.ReadElementString();"); 3057Writer.Write(useReflection ? "object" : fullTypeName); 3058Writer.Write(" "); 3059Writer.Write(methodName); 3060Writer.WriteLine("(string s) {"); 3061Writer.Indent++; 3069Writer.Write("return "); 3070Writer.Write(typeof(Enum).FullName); 3071Writer.Write(".ToObject("); 3072Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 3073Writer.Write(", ToEnum(s, "); 3074Writer.Write(tableName); 3075Writer.Write(", "); 3077Writer.WriteLine("));"); 3081Writer.Write("return ("); 3082Writer.Write(fullTypeName); 3083Writer.Write(")ToEnum(s, "); 3084Writer.Write(tableName); 3085Writer.Write(", "); 3087Writer.WriteLine(");"); 3092Writer.WriteLine("switch (s) {"); 3093Writer.Indent++; 3102Writer.Write("case "); 3104Writer.Write(": return "); 3105Writer.Write(RaCodeGen.GetStringForEnumMember(fullTypeName, c.Name, useReflection)); 3106Writer.WriteLine(";"); 3111Writer.Write("default: throw CreateUnknownConstantException(s, "); 3112Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 3113Writer.WriteLine(");"); 3114Writer.Indent--; 3115Writer.WriteLine("}"); 3118Writer.Indent--; 3119Writer.WriteLine("}"); 3126Writer.Write("if ("); 3128Writer.WriteLine(")"); 3129Writer.Indent++; 3137Writer.Write("return "); 3139Writer.Write($"({returnTypeName})"); 3140Writer.Write(methodName); 3141Writer.Write("("); 3143Writer.Write("isNullable, "); 3144Writer.WriteLine("false);"); 3146Writer.Indent--; 3163Writer.Write("if ("); 3165Writer.WriteLine(") {"); 3166Writer.Indent++; 3167Writer.WriteLine("Reader.ReadStartElement();"); 3173Writer.Write("object e = "); 3174Writer.Write(methodName); 3175Writer.WriteLine("(CollapseWhitespace(Reader.ReadString()));"); 3176Writer.WriteLine("ReadEndElement();"); 3177Writer.WriteLine("return e;"); 3178Writer.Indent--; 3179Writer.WriteLine("}"); 3185Writer.Write("if ("); 3187Writer.WriteLine(") {"); 3188Writer.Indent++; 3199Writer.Write(typeof(Array).FullName); 3201Writer.Write("object"); 3204Writer.Write(fullTypeName); 3205Writer.Write(" a = "); 3208Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, td.UseReflection, false, false)); 3209Writer.WriteLine(";"); 3212Writer.WriteLine("null;"); 3215Writer.WriteLine("return a;"); 3216Writer.Indent--; 3217Writer.WriteLine("}"); 3229Writer.WriteLine(); 3231Writer.Write(typeName); 3232Writer.Write(" "); 3233Writer.Write(methodName); 3234Writer.WriteLine("(bool checkType) {"); 3235Writer.Indent++; 3237Writer.Write(typeName); 3238Writer.Write(" o = "); 3242Writer.Write("null"); 3246Writer.Write("default("); 3247Writer.Write(typeName); 3248Writer.Write(")"); 3250Writer.WriteLine(";"); 3252Writer.WriteLine("if (ReadNull())"); 3253Writer.Indent++; 3255Writer.WriteLine("return o;"); 3256Writer.Indent--; 3264Writer.WriteLine("return o;"); 3266Writer.Indent--; 3267Writer.WriteLine("}"); 3283Writer.WriteLine(); 3284Writer.Write(typeName); 3285Writer.Write(" "); 3286Writer.Write(methodName); 3287Writer.Write("("); 3289Writer.Write("bool isNullable, "); 3290Writer.WriteLine("bool checkType) {"); 3291Writer.Indent++; 3293Writer.Write(typeof(XmlQualifiedName).FullName); 3294Writer.WriteLine(" xsiType = checkType ? GetXsiType() : null;"); 3295Writer.WriteLine("bool isNull = false;"); 3297Writer.WriteLine("if (isNullable) isNull = ReadNull();"); 3299Writer.WriteLine("if (checkType) {"); 3302Writer.Indent++; 3303Writer.WriteLine("if (isNull) {"); 3304Writer.Indent++; 3305Writer.WriteLine($"if (xsiType != null) return ({typeName})ReadTypedNull(xsiType);"); 3306Writer.Write("else return "); 3309Writer.Write(RaCodeGen.GetStringForCreateInstance(structMapping.TypeDesc.CSharpName, useReflection, false, false)); 3310Writer.WriteLine(";"); 3313Writer.WriteLine("null;"); 3315Writer.Indent--; 3316Writer.WriteLine("}"); 3318Writer.Write("if (xsiType == null"); 3321Writer.Write(" || "); 3324Writer.WriteLine(") {"); 3327Writer.Indent++; 3328Writer.WriteLine($"return ReadTypedPrimitive(new System.Xml.XmlQualifiedName(\"{Soap.UrType}\", \"{XmlSchema.Namespace}\"));"); 3329Writer.Indent--; 3331Writer.WriteLine("}"); 3332Writer.WriteLine("else {"); 3333Writer.Indent++; 3337Writer.Write("return ReadTypedPrimitive(("); 3339Writer.Write("throw CreateUnknownTypeException(("); 3340Writer.Write(typeof(XmlQualifiedName).FullName); 3341Writer.WriteLine(")xsiType);"); 3342Writer.Indent--; 3343Writer.WriteLine("}"); 3345Writer.Indent--; 3346Writer.WriteLine("}"); 3348Writer.WriteLine("if (isNull) return null;"); 3352Writer.Write("throw CreateAbstractTypeException("); 3354Writer.Write(", "); 3356Writer.WriteLine(");"); 3362Writer.WriteLine("DecodeName = false;"); 3452Writer.WriteLine("Reader.MoveToElement();"); 3454Writer.WriteLine("if (Reader.IsEmptyElement) {"); 3455Writer.Indent++; 3456Writer.WriteLine("Reader.Skip();"); 3458Writer.WriteLine("return o;"); 3459Writer.Indent--; 3460Writer.WriteLine("}"); 3462Writer.WriteLine("Reader.ReadStartElement();"); 3465Writer.WriteLine("int state = 0;"); 3468Writer.Indent++; 3471Writer.WriteLine("Reader.MoveToContent();"); 3476Writer.WriteLine("ReadEndElement();"); 3477Writer.WriteLine("return o;"); 3479Writer.Indent--; 3480Writer.WriteLine("}"); 3488Writer.WriteLine(); 3489Writer.Write("object"); 3490Writer.Write(" "); 3491Writer.Write(methodName); 3492Writer.Write("("); 3493Writer.WriteLine(") {"); 3494Writer.Indent++; 3502Writer.Write("throw CreateAbstractTypeException("); 3504Writer.Write(", "); 3506Writer.WriteLine(");"); 3537Writer.WriteLine("Reader.MoveToElement();"); 3539Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); return o; }"); 3540Writer.WriteLine("Reader.ReadStartElement();"); 3543Writer.Indent++; 3546Writer.WriteLine("Reader.MoveToContent();"); 3550Writer.WriteLine("ReadEndElement();"); 3551Writer.WriteLine("return o;"); 3553Writer.Indent--; 3554Writer.WriteLine("}"); 3561Writer.WriteLine(); 3562Writer.Write("void "); 3563Writer.Write(fixupMethodName); 3564Writer.WriteLine("(object objFixup) {"); 3565Writer.Indent++; 3566Writer.WriteLine("Fixup fixup = (Fixup)objFixup;"); 3568Writer.WriteLine("string[] ids = fixup.Ids;"); 3576Writer.Write("if (ids["); 3577Writer.Write(fixupIndex); 3578Writer.WriteLine("] != null) {"); 3579Writer.Indent++; 3593Writer.WriteLine("try {"); 3594Writer.Indent++; 3600Writer.Write(targetSource); 3602Writer.WriteLine(";"); 3606Writer.Write(member.CheckSpecifiedSource); 3607Writer.WriteLine(" = true;"); 3615Writer.Indent--; 3616Writer.WriteLine("}"); 3619Writer.Indent--; 3620Writer.WriteLine("}"); 3625Writer.WriteLine("// get array of the collection items"); 3634Writer.Write("if ((object)("); 3635Writer.Write(memberSource); 3636Writer.WriteLine(") == null) {"); 3637Writer.Indent++; 3641Writer.Write("throw CreateReadOnlyCollectionException("); 3643Writer.WriteLine(");"); 3647Writer.Write(memberSource); 3648Writer.Write(" = "); 3649Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDesc.CSharpName, typeDesc.UseReflection, typeDesc.CannotNew, true)); 3650Writer.WriteLine(";"); 3653Writer.Indent--; 3654Writer.WriteLine("}"); 3656Writer.Write("CollectionFixup collectionFixup = new CollectionFixup("); 3657Writer.Write(memberSource); 3658Writer.Write(", "); 3659Writer.Write("new "); 3660Writer.Write(typeof(XmlSerializationCollectionFixupCallback).FullName); 3661Writer.Write("(this."); 3662Writer.Write(create.Name); 3663Writer.Write("), "); 3664Writer.Write(targetSource); 3665Writer.WriteLine(");"); 3666Writer.WriteLine("AddFixup(collectionFixup);"); 3671Writer.Write("void "); 3672Writer.Write(c.Name); 3673Writer.WriteLine("(object collection, object collectionItems) {"); 3674Writer.Indent++; 3676Writer.WriteLine("if (collectionItems == null) return;"); 3677Writer.WriteLine("if (collection == null) return;"); 3686Writer.Indent--; 3687Writer.WriteLine("}"); 3692Writer.Write("((object) (("); 3693Writer.Write(typeof(XmlQualifiedName).FullName); 3694Writer.Write(")"); 3695Writer.Write(source); 3696Writer.Write(").Name == (object)"); 3698Writer.Write(" && (object) (("); 3699Writer.Write(typeof(XmlQualifiedName).FullName); 3700Writer.Write(")"); 3701Writer.Write(source); 3702Writer.Write(").Namespace == (object)"); 3704Writer.Write(")"); 3709Writer.Write("("); 3712Writer.Write("(object) "); 3713Writer.Write(source); 3714Writer.Write(".LocalName == (object)"); 3716Writer.Write(" && "); 3718Writer.Write("(object) "); 3719Writer.Write(source); 3720Writer.Write(".NamespaceURI == (object)"); 3722Writer.Write(")"); 3734Writer.Write(idName); 3743Writer.WriteLine("while (Reader.MoveToNextAttribute()) {"); 3744Writer.Indent++; 3764Writer.Write("else "); 3766Writer.Write("if ("); 3769Writer.Write("!"); 3770Writer.Write(member.ParamsReadSource); 3771Writer.Write(" && "); 3780Writer.WriteLine(") {"); 3781Writer.Indent++; 3784Writer.Indent--; 3785Writer.WriteLine("}"); 3789Writer.Write("else "); 3793Writer.WriteLine("if (IsXmlnsAttribute(Reader.Name)) {"); 3794Writer.Indent++; 3796Writer.Write("if ("); 3797Writer.Write(xmlnsMember.Source); 3798Writer.Write(" == null) "); 3799Writer.Write(xmlnsMember.Source); 3800Writer.Write(" = new "); 3801Writer.Write(xmlnsMember.Mapping.TypeDesc!.CSharpName); 3802Writer.WriteLine("();"); 3805Writer.Write($"(({xmlnsMember.Mapping.TypeDesc.CSharpName}){xmlnsMember.ArraySource})"); 3806Writer.WriteLine(".Add(Reader.Name.Length == 5 ? \"\" : Reader.LocalName, Reader.Value);"); 3808Writer.Indent--; 3809Writer.WriteLine("}"); 3811Writer.WriteLine("else {"); 3812Writer.Indent++; 3816Writer.WriteLine("if (!IsXmlnsAttribute(Reader.Name)) {"); 3817Writer.Indent++; 3821Writer.Write(typeof(XmlAttribute).FullName); 3822Writer.Write(" attr = "); 3823Writer.Write("("); 3824Writer.Write(typeof(XmlAttribute).FullName); 3825Writer.WriteLine(") Document.ReadNode(Reader);"); 3826Writer.WriteLine("ParseWsdlArrayType(attr);"); 3831Writer.Write(elseCall); 3832Writer.Write("("); 3833Writer.Write(firstParam); 3836Writer.Write(", "); 3848Writer.WriteLine(");"); 3850Writer.Indent--; 3851Writer.WriteLine("}"); 3853Writer.Indent--; 3854Writer.WriteLine("}"); 3866Writer.Write("attr"); 3868Writer.WriteLine(";"); 3872Writer.Write("if (attr is "); 3873Writer.Write(typeof(XmlAttribute).FullName); 3874Writer.WriteLine(") {"); 3875Writer.Indent++; 3877Writer.Write("("); 3878Writer.Write(typeof(XmlAttribute).FullName); 3879Writer.Write(")attr"); 3881Writer.WriteLine(";"); 3882Writer.Indent--; 3883Writer.WriteLine("}"); 3893Writer.WriteLine("string listValues = Reader.Value;"); 3900Writer.WriteLine("string[] vals = listValues.Split(xmlListSeparators);"); 3901Writer.WriteLine("for (int i = 0; i < vals.Length; i++) {"); 3902Writer.Indent++; 3909Writer.WriteLine(";"); 3910Writer.Indent--; 3911Writer.WriteLine("}"); 3918Writer.WriteLine(";"); 3923Writer.Write(member.CheckSpecifiedSource); 3924Writer.WriteLine(" = true;"); 3928Writer.Write(member.ParamsReadSource); 3929Writer.WriteLine(" = true;"); 3952Writer.Write("Fixup fixup = new Fixup("); 3953Writer.Write(source); 3954Writer.Write(", "); 3955Writer.Write("new "); 3956Writer.Write(typeof(XmlSerializationFixupCallback).FullName); 3957Writer.Write("(this."); 3958Writer.Write(fixupMethodName); 3959Writer.Write("), "); 3960Writer.Write(fixupCount.ToString(CultureInfo.InvariantCulture)); 3961Writer.WriteLine(");"); 3962Writer.WriteLine("AddFixup(fixup);"); 3986Writer.Write("int "); 3987Writer.Write(c); 3988Writer.WriteLine(" = 0;"); 3995Writer.Write("int c"); 3996Writer.Write(member.ChoiceArrayName); 3997Writer.WriteLine(" = 0;"); 4006Writer.Write(member.Source); 4007Writer.Write(a); 4009Writer.WriteLine("});"); 4011Writer.WriteLine(");"); 4018Writer.Write("if ((object)("); 4019Writer.Write(member.Source); 4020Writer.Write(") == null) "); 4023Writer.Write("throw CreateReadOnlyCollectionException("); 4025Writer.WriteLine(");"); 4029Writer.Write(member.Source); 4030Writer.Write(" = "); 4031Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDescFullName, useReflection, typeDesc.CannotNew, true)); 4032Writer.WriteLine(";"); 4083Writer.WriteLine("string tmp = null;"); 4086Writer.Write("if (Reader.NodeType == "); 4087Writer.Write(typeof(XmlNodeType).FullName); 4088Writer.WriteLine(".Element) {"); 4089Writer.Indent++; 4101Writer.Indent--; 4102Writer.WriteLine("}"); 4107Writer.WriteLine("else {"); 4108Writer.Indent++; 4109Writer.WriteLine(elseString); 4110Writer.Indent--; 4111Writer.WriteLine("}"); 4116Writer.Write("else if (Reader.NodeType == "); 4117Writer.Write(typeof(XmlNodeType).FullName); 4118Writer.WriteLine(".Text || "); 4119Writer.Write("Reader.NodeType == "); 4120Writer.Write(typeof(XmlNodeType).FullName); 4121Writer.WriteLine(".CDATA || "); 4122Writer.Write("Reader.NodeType == "); 4123Writer.Write(typeof(XmlNodeType).FullName); 4124Writer.WriteLine(".Whitespace || "); 4125Writer.Write("Reader.NodeType == "); 4126Writer.Write(typeof(XmlNodeType).FullName); 4127Writer.WriteLine(".SignificantWhitespace) {"); 4128Writer.Indent++; 4136Writer.Write(elseString); 4137Writer.WriteLine(";"); 4139Writer.Indent--; 4140Writer.WriteLine("}"); 4153Writer.Write("Document.CreateTextNode(Reader.ReadString())"); 4172Writer.Write("string listValues = "); 4173Writer.WriteLine(text.Mapping!.TypeDesc!.CollapseWhitespace ? "CollapseWhitespace(Reader.ReadString());" : "Reader.ReadString();"); 4174Writer.WriteLine("string[] vals = listValues.Split(xmlListSeparators, System.StringSplitOptions.RemoveEmptyEntries);"); 4175Writer.WriteLine("for (int i = 0; i < vals.Length; i++) {"); 4176Writer.Indent++; 4178Writer.Write("vals[i]"); 4180Writer.WriteLine(";"); 4181Writer.Indent--; 4182Writer.WriteLine("}"); 4191Writer.Write("CollapseWhitespace(Reader.ReadString())"); 4195Writer.Write("Reader.ReadString()"); 4202Writer.Write("tmp = ReadString(tmp, "); 4204Writer.WriteLine("true);"); 4206Writer.WriteLine("false);"); 4209Writer.Write("tmp"); 4220Writer.WriteLine(";"); 4225Writer.WriteLine("string refElemId = null;"); 4226Writer.WriteLine("object refElem = ReadReferencingElement(null, null, true, out refElemId);"); 4228Writer.WriteLine("if (refElemId != null) {"); 4229Writer.Indent++; 4230Writer.Write(checkTypeHrefsSource); 4231Writer.WriteLine(".Add(refElemId);"); 4232Writer.Write(checkTypeHrefsSource); 4233Writer.WriteLine("IsObject.Add(false);"); 4234Writer.Indent--; 4235Writer.WriteLine("}"); 4236Writer.WriteLine("else if (refElem != null) {"); 4237Writer.Indent++; 4238Writer.Write(checkTypeHrefsSource); 4239Writer.WriteLine(".Add(refElem);"); 4240Writer.Write(checkTypeHrefsSource); 4241Writer.WriteLine("IsObject.Add(true);"); 4242Writer.Indent--; 4243Writer.WriteLine("}"); 4263Writer.WriteLine(elementElseString); 4285Writer.WriteLine("switch (state) {"); 4312Writer.WriteLine("do {"); 4313Writer.Indent++; 4320Writer.Write("else "); 4324Writer.Write("case "); 4325Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 4326Writer.WriteLine(":"); 4327Writer.Indent++; 4332Writer.Write("if ("); 4335Writer.Write("!"); 4336Writer.Write(member.ParamsReadSource); 4337Writer.Write(" && "); 4344Writer.Write(RaCodeGen.GetStringForTypeof(td.CSharpName, td.UseReflection)); 4348Writer.Write(RaCodeGen.GetStringForTypeof(e.Mapping!.TypeDesc!.CSharpName, e.Mapping.TypeDesc.UseReflection)); 4350Writer.Write(".IsAssignableFrom("); 4351Writer.Write(checkTypeSource); 4352Writer.Write("Type)"); 4357Writer.Write("(IsReturnValue || "); 4360Writer.Write("true"); 4367Writer.Write(")"); 4369Writer.WriteLine(") {"); 4370Writer.Indent++; 4375Writer.Write("if ("); 4376Writer.Write(checkTypeSource); 4377Writer.WriteLine(" != null) {"); 4378Writer.Indent++; 4384Writer.Write(RaCodeGen.GetStringForCreateInstance(e.Mapping.TypeDesc.CSharpName, e.Mapping.TypeDesc.UseReflection, false, true, $"({td.CSharpName}){checkTypeSource}")); 4389Writer.Write(checkTypeSource); 4392Writer.WriteLine(";"); 4395Writer.Indent--; 4396Writer.WriteLine("}"); 4400Writer.Write("fixup.Ids["); 4401Writer.Write(member.FixupIndex.ToString(CultureInfo.InvariantCulture)); 4402Writer.Write("] = "); 4403Writer.Write(checkTypeSource); 4404Writer.WriteLine("Id;"); 4412Writer.WriteLine("IsReturnValue = false;"); 4415Writer.Write(member.ParamsReadSource); 4416Writer.WriteLine(" = true;"); 4420Writer.WriteLine("break;"); 4422Writer.Indent--; 4423Writer.WriteLine("}"); 4429Writer.WriteLine("else {"); 4430Writer.Indent++; 4433Writer.Write("state = "); 4434Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 4435Writer.WriteLine(";"); 4438Writer.Indent--; 4439Writer.WriteLine("}"); 4441Writer.WriteLine("break;"); 4442Writer.Indent--; 4449Writer.WriteLine("default:"); 4450Writer.Indent++; 4458Writer.WriteLine("break;"); 4460Writer.Indent--; 4463Writer.WriteLine("} while (false);"); 4467Writer.WriteLine("}"); 4528Writer.Write(" soap[1] = "); 4536Writer.Write($"({arrayTypeFullName}[])"); 4537Writer.Write("ShrinkArray("); 4538Writer.Write(a); 4539Writer.Write(", "); 4540Writer.Write(c); 4541Writer.Write(", "); 4542Writer.Write(RaCodeGen.GetStringForTypeof(arrayTypeFullName, arrayUseReflection)); 4543Writer.Write(", "); 4545Writer.Write(")"); 4547Writer.WriteLine(";"); 4558Writer.Write($"({choiceTypeName}[])"); 4559Writer.Write("ShrinkArray("); 4560Writer.Write(a); 4561Writer.Write(", "); 4562Writer.Write(c); 4563Writer.Write(", "); 4564Writer.Write(RaCodeGen.GetStringForTypeof(choiceTypeName, choiceUseReflection)); 4565Writer.Write(", "); 4567Writer.Write(")"); 4569Writer.WriteLine(";"); 4574Writer.Write(member.Source); 4575Writer.Write(" = "); 4576Writer.Write(member.ArrayName); 4577Writer.WriteLine(";"); 4588Writer.Write("("); 4589Writer.Write(typeDesc.CSharpName); 4590Writer.Write(")"); 4596Writer.Write(source); 4598Writer.Write(" = "); 4606Writer.Write(")"); 4608Writer.Write("})"); 4618Writer.WriteLine("if (Reader.HasAttributes) {"); 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(";"); 4675Writer.WriteLine("if (!ReadNull()) {"); 4676Writer.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(";"); 4766Writer.WriteLine("if (ReadNull()) {"); 4767Writer.Indent++; 4771Writer.Write(RaCodeGen.GetStringForCreateInstance(element.Mapping.TypeDesc.CSharpName, element.Mapping.TypeDesc.UseReflection, false, false)); 4775Writer.Write("null"); 4778Writer.WriteLine(";"); 4779Writer.Indent--; 4780Writer.WriteLine("}"); 4781Writer.WriteLine("else {"); 4782Writer.Indent++; 4791Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4792Writer.Indent++; 4793Writer.WriteLine("Reader.Skip();"); 4794Writer.Indent--; 4795Writer.WriteLine("}"); 4796Writer.WriteLine("else {"); 4800Writer.WriteLine("{"); 4802Writer.Indent++; 4807Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4808Writer.Indent++; 4809Writer.WriteLine("Reader.Skip();"); 4813Writer.Write("default(System.TimeSpan)"); 4817Writer.Write("default(System.DateTimeOffset)"); 4821Writer.Write("default(System.DateOnly)"); 4825Writer.Write("default(System.TimeOnly)"); 4828Writer.WriteLine(";"); 4829Writer.Indent--; 4830Writer.WriteLine("}"); 4831Writer.WriteLine("else {"); 4832Writer.Indent++; 4836Writer.WriteLine(";"); 4837Writer.Indent--; 4838Writer.WriteLine("}"); 4844Writer.Write("ReadElementQualifiedName()"); 4862Writer.WriteLine(";"); 4864Writer.Indent--; 4865Writer.WriteLine("}"); 4868Writer.Indent--; 4869Writer.WriteLine("}"); 4877Writer.Write("object rre = "); 4878Writer.Write(fixupIndex >= 0 ? "ReadReferencingElement" : "ReadReferencedElement"); 4879Writer.Write("("); 4881Writer.Write(", "); 4886Writer.Write(", out fixup.Ids["); 4887Writer.Write((fixupIndex).ToString(CultureInfo.InvariantCulture)); 4888Writer.Write("]"); 4890Writer.Write(")"); 4892Writer.WriteLine(";"); 4896Writer.WriteLine("if (rre != null) {"); 4897Writer.Indent++; 4900Writer.WriteLine("try {"); 4901Writer.Indent++; 4903Writer.Write("rre"); 4905Writer.WriteLine(";"); 4907Writer.Write("Referenced("); 4908Writer.Write(source); 4909Writer.WriteLine(");"); 4912Writer.Indent--; 4913Writer.WriteLine("}"); 4926Writer.Write("if ((object)("); 4927Writer.Write(arrayName); 4928Writer.Write(") == null) Reader.Skip(); else "); 4931Writer.Write(methodName); 4932Writer.Write("("); 4936Writer.Write(", "); 4938Writer.Write("true"); 4939Writer.Write(")"); 4941Writer.WriteLine(";"); 4951Writer.Write(isDoc ? "ReadXmlDocument(" : "ReadXmlNode("); 4952Writer.Write(element.Any ? "false" : "true"); 4953Writer.Write(")"); 4955Writer.WriteLine(";"); 4962Writer.Write(typeof(XmlQualifiedName).FullName); 4963Writer.WriteLine(" tser = GetXsiType();"); 4964Writer.Write("if (tser == null"); 4965Writer.Write(" || "); 4968Writer.WriteLine(") {"); 4969Writer.Indent++; 4972Writer.Write("ReadSerializable(( "); 4973Writer.Write(typeof(IXmlSerializable).FullName); 4974Writer.Write(")"); 4977Writer.Write(RaCodeGen.GetStringForCreateInstance(sm.TypeDesc!.CSharpName, false, false, false, "\"default\"")); 4981Writer.Write(RaCodeGen.GetStringForCreateInstance(sm.TypeDesc!.CSharpName, sm.TypeDesc.UseReflection, sm.TypeDesc.CannotNew, false)); 4986Writer.WriteLine(", true"); 4988Writer.Write(")"); 4990Writer.WriteLine(";"); 4993Writer.Indent--; 4994Writer.WriteLine("}"); 5015Writer.Write(choiceSource); 5016Writer.Write(" = "); 5018Writer.Write(RaCodeGen.GetStringForEnumMember(enumTypeName, choice.MemberIds[elementIndex], choice.Mapping.TypeDesc.UseReflection)); 5019Writer.WriteLine(";"); 5029Writer.Write("else if (tser == null"); 5030Writer.Write(" || "); 5033Writer.WriteLine(") {"); 5034Writer.Indent++; 5041Writer.Write("ReadSerializable(( "); 5042Writer.Write(typeof(IXmlSerializable).FullName); 5043Writer.Write(")"); 5044Writer.Write(RaCodeGen.GetStringForCreateInstance(derived.TypeDesc!.CSharpName, derived.TypeDesc.UseReflection, derived.TypeDesc.CannotNew, false)); 5047Writer.WriteLine(", true"); 5049Writer.Write(")"); 5051Writer.WriteLine(";"); 5055Writer.Write("throw CreateBadDerivationException("); 5057Writer.Write(", "); 5059Writer.Write(", "); 5061Writer.Write(", "); 5063Writer.Write(", "); 5065Writer.Write(", "); 5067Writer.WriteLine(");"); 5072Writer.WriteLine($"// missing real mapping for {derived.XsiType}"); 5073Writer.Write("throw CreateMissingIXmlSerializableType("); 5075Writer.Write(", "); 5077Writer.Write(", "); 5079Writer.WriteLine(");"); 5082Writer.Indent--; 5083Writer.WriteLine("}"); 5091Writer.WriteLine("Reader.MoveToContent();"); 5092Writer.Write("while (Reader.NodeType != "); 5093Writer.Write(typeof(XmlNodeType).FullName); 5094Writer.Write(".EndElement && Reader.NodeType != "); 5095Writer.Write(typeof(XmlNodeType).FullName); 5096Writer.WriteLine(".None) {"); 5101Writer.Indent--; 5102Writer.WriteLine("}"); 5108Writer.Write(length <= StackallocLimit ? 5111Writer.Write(length.ToString(CultureInfo.InvariantCulture)); 5112Writer.WriteLine("];"); 5117Writer.WriteLine("Reader.MoveToContent();"); 5118Writer.Write("while (Reader.NodeType == "); 5119Writer.Write(typeof(XmlNodeType).FullName); 5120Writer.WriteLine(".Element) {"); 5121Writer.Indent++; 5122Writer.Write("string root = Reader.GetAttribute(\"root\", \""); 5123Writer.Write(Soap.Encoding); 5124Writer.WriteLine("\");"); 5125Writer.Write("if (root == null || "); 5126Writer.Write(typeof(XmlConvert).FullName); 5127Writer.WriteLine(".ToBoolean(root)) break;"); 5128Writer.WriteLine("ReadReferencedElement();"); 5129Writer.WriteLine("Reader.MoveToContent();"); 5135Writer.Write(value ? "true" : "false"); 5140Writer.Write(typeof(ArrayList).FullName); 5141Writer.Write(" "); 5142Writer.Write(source); 5143Writer.Write(" = new "); 5144Writer.Write(typeof(ArrayList).FullName); 5145Writer.WriteLine("();"); 5147Writer.Write(typeof(ArrayList).FullName); 5148Writer.Write(" "); 5149Writer.Write(source); 5150Writer.Write("IsObject = new "); 5151Writer.Write(typeof(ArrayList).FullName); 5152Writer.WriteLine("();"); 5157Writer.WriteLine("int isObjectIndex = 0;"); 5158Writer.Write("foreach (object obj in "); 5159Writer.Write(listSource); 5160Writer.WriteLine(") {"); 5161Writer.Indent++; 5162Writer.WriteLine("bool isReferenced = true;"); 5163Writer.Write("bool isObject = (bool)"); 5164Writer.Write(listSource); 5165Writer.WriteLine("IsObject[isObjectIndex++];"); 5166Writer.WriteLine("object refObj = isObject ? obj : GetTarget((string)obj);"); 5167Writer.WriteLine("if (refObj == null) continue;"); 5168Writer.Write(typeof(Type).FullName); 5169Writer.WriteLine(" refObjType = refObj.GetType();"); 5170Writer.WriteLine("string refObjId = null;"); 5174Writer.WriteLine("if (isObject && isReferenced) Referenced(refObj); // need to mark this obj as ref'd since we didn't do GetTarget"); 5175Writer.Indent--; 5176Writer.WriteLine("}"); 5181Writer.Write("if (Reader.GetAttribute(\"root\", \""); 5182Writer.Write(Soap.Encoding); 5183Writer.WriteLine("\") == \"0\") {"); 5184Writer.Indent++; 5185Writer.WriteLine(source); 5186Writer.Indent--; 5187Writer.WriteLine("}"); 5196Writer.Write(useReflection ? "object" : fullTypeName); 5197Writer.Write(" "); 5198Writer.Write(local); 5199Writer.WriteLine(";"); 5203Writer.WriteLine("try {"); 5204Writer.Indent++; 5206Writer.Write(local); 5207Writer.Write(" = "); 5208Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, useReflection, mapping.TypeDesc.CannotNew, true)); 5209Writer.WriteLine(";"); 5213Writer.Indent++; 5214Writer.Write("throw CreateInaccessibleConstructorException("); 5216Writer.WriteLine(");"); 5219Writer.Indent++; 5221Writer.Write("throw CreateCtorHasSecurityException("); 5223Writer.WriteLine(");"); 5225Writer.Indent--; 5226Writer.WriteLine("}"); 5232Writer.Indent--; 5233Writer.WriteLine("}"); 5234Writer.Write("catch ("); 5235Writer.Write(exceptionType.FullName); 5236Writer.WriteLine(") {"); 5242Writer.Indent++; 5243Writer.Write("throw CreateInvalidCastException("); 5244Writer.Write(RaCodeGen.GetStringForTypeof(typeDesc.CSharpName, typeDesc.UseReflection)); 5245Writer.Write(", "); 5246Writer.Write(source); 5248Writer.WriteLine(", null);"); 5251Writer.Write(", (string)"); 5252Writer.Write(id); 5253Writer.WriteLine(");"); 5255Writer.Indent--; 5256Writer.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("}");