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("}");