System\Xml\Serialization\XmlSerializationWriter.cs (743)
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("}");
3587Writer.Write(typeof(IEnumerator).FullName);
3588Writer.Write(" e = ");
3591Writer.Write("((");
3592Writer.Write(typeof(IEnumerable).FullName);
3593Writer.Write(")");
3594Writer.Write(arrayName);
3595Writer.WriteLine(").GetEnumerator();");
3602Writer.Write("(");
3603Writer.Write(typeof(IEnumerator).FullName);
3604Writer.Write(")");
3605Writer.Write(RaCodeGen.GetReflectionVariable(arrayTypeDesc.CSharpName, "System.Collections.Generic.IEnumerable*"));
3606Writer.Write(".Invoke(");
3607Writer.Write(arrayName);
3608Writer.WriteLine(", new object[0]);");
3612Writer.Write("((System.Collections.Generic.IEnumerable<");
3613Writer.Write(arrayElementTypeDesc.CSharpName);
3614Writer.Write(">)");
3615Writer.Write(arrayName);
3616Writer.WriteLine(").GetEnumerator();");
3623Writer.Write("(");
3624Writer.Write(typeof(IEnumerator).FullName);
3625Writer.Write(")");
3627Writer.Write(RaCodeGen.GetStringForMethodInvoke(arrayName, arrayTypeDesc.CSharpName, "GetEnumerator", arrayTypeDesc.UseReflection));
3628Writer.WriteLine(";");
3630Writer.WriteLine("if (e != null)");
3631Writer.WriteLine("while (e.MoveNext()) {");
3632Writer.Indent++;
3639Writer.Write("for (int i");
3640Writer.Write(arrayName);
3641Writer.Write(" = 0; i");
3642Writer.Write(arrayName);
3643Writer.Write(" < ");
3646Writer.Write(arrayName);
3647Writer.Write(".Length");
3651Writer.Write("((");
3652Writer.Write(typeof(ICollection).FullName);
3653Writer.Write(")");
3654Writer.Write(arrayName);
3655Writer.Write(").Count");
3657Writer.Write("; i");
3658Writer.Write(arrayName);
3659Writer.WriteLine("++) {");
3660Writer.Indent++;
3678Writer.Indent--;
3679Writer.WriteLine("}");
3703Writer.Write("if ((object)(");
3704Writer.Write(source);
3705Writer.Write(") != null)");
3707Writer.WriteLine("{");
3708Writer.Indent++;
3738if (wroteFirstIf) Writer.Write("else ");
3740Writer.Write("if (");
3741Writer.Write(enumUseReflection ? ReflectionAwareCodeGen.GetStringForEnumLongValue(enumSource!, enumUseReflection) : enumSource);
3742Writer.Write(" == ");
3743Writer.Write(enumFullName);
3746Writer.Write(" && ((object)(");
3747Writer.Write(source);
3748Writer.Write(") != null)");
3750Writer.WriteLine(") {");
3751Writer.Indent++;
3759Writer.Indent--;
3760Writer.WriteLine("}");
3767if (wroteFirstIf) Writer.Write("else ");
3769Writer.Write("if (");
3771Writer.WriteLine(") {");
3772Writer.Indent++;
3777Writer.Indent--;
3778Writer.WriteLine("}");
3783if (elements.Length - anyCount > 0) Writer.Write("else ");
3787Writer.Write("if (");
3788Writer.Write(source);
3789Writer.Write(" is ");
3790Writer.Write(fullTypeName);
3791Writer.WriteLine(") {");
3792Writer.Indent++;
3794Writer.Write(fullTypeName);
3795Writer.Write(" elem = (");
3796Writer.Write(fullTypeName);
3797Writer.Write(")");
3798Writer.Write(source);
3799Writer.WriteLine(";");
3805if (c++ > 0) Writer.Write("else ");
3813Writer.Write("if (");
3814Writer.Write(enumUseReflection ? ReflectionAwareCodeGen.GetStringForEnumLongValue(enumSource!, enumUseReflection) : enumSource);
3815Writer.Write(" == ");
3816Writer.Write(enumFullName);
3819Writer.Write(" && ((object)(");
3820Writer.Write(source);
3821Writer.Write(") != null)");
3823Writer.WriteLine(") {");
3824Writer.Indent++;
3826Writer.Write("if (elem.Name == ");
3828Writer.Write(" && elem.NamespaceURI == ");
3830Writer.WriteLine(") {");
3831Writer.Indent++;
3836Writer.Indent--;
3837Writer.WriteLine("}");
3838Writer.WriteLine("else {");
3839Writer.Indent++;
3841Writer.WriteLine("// throw Value '{0}' of the choice identifier '{1}' does not match element '{2}' from namespace '{3}'.");
3843Writer.Write("throw CreateChoiceIdentifierValueException(");
3845Writer.Write(", ");
3847Writer.WriteLine(", elem.Name, elem.NamespaceURI);");
3848Writer.Indent--;
3849Writer.WriteLine("}");
3851Writer.Indent--;
3852Writer.WriteLine("}");
3856Writer.WriteLine("else {");
3857Writer.Indent++;
3865Writer.WriteLine("throw CreateUnknownAnyElementException(elem.Name, elem.NamespaceURI);");
3869Writer.Indent--;
3870Writer.WriteLine("}");
3872Writer.Indent--;
3873Writer.WriteLine("}");
3881Writer.Write("else ");
3882Writer.Write("if (");
3884Writer.WriteLine(") {");
3885Writer.Indent++;
3890Writer.Indent--;
3891Writer.WriteLine("}");
3903Writer.Write("else ");
3907Writer.Write(" if ((object)(");
3908Writer.Write(source);
3909Writer.Write(") != null)");
3912Writer.WriteLine("{");
3913Writer.Indent++;
3915Writer.Write("throw CreateUnknownTypeException(");
3916Writer.Write(source);
3917Writer.WriteLine(");");
3919Writer.Indent--;
3920Writer.WriteLine("}");
3922Writer.Indent--;
3923Writer.WriteLine("}");
3931Writer.Write("WriteValue(");
3940Writer.WriteLine(");");
3947Writer.Write(source);
3948Writer.WriteLine(".WriteTo(Writer);");
3963Writer.Write("if (");
3964Writer.Write(source);
3965Writer.WriteLine(" != null) {");
3966Writer.Indent++;
3974Writer.Indent--;
3975Writer.WriteLine("}");
3978Writer.WriteLine("else {");
3979Writer.Indent++;
3981Writer.Indent--;
3982Writer.WriteLine("}");
3989Writer.Write("WritePotentiallyReferencingElement(");
3991Writer.Write(", ");
3993Writer.Write(", ");
3994Writer.Write(source);
3997Writer.Write(", ");
3998Writer.Write(RaCodeGen.GetStringForTypeof(arrayMapping.TypeDesc!.CSharpName, arrayMapping.TypeDesc.UseReflection));
3999Writer.Write(", true, ");
4003Writer.Write(", null, false, ");
4006Writer.WriteLine(");");
4014Writer.WriteLine("{");
4015Writer.Indent++;
4025Writer.Write("if (");
4026Writer.Write(elementArrayName);
4027Writer.Write(" != null)");
4029Writer.WriteLine("{");
4030Writer.Indent++;
4033Writer.Write("for (int ");
4034Writer.Write(arrayIndex);
4035Writer.Write(" = 0; ");
4036Writer.Write(arrayIndex);
4037Writer.Write(" < ");
4041Writer.Write(elementArrayName);
4042Writer.Write(".Length");
4046Writer.Write("((");
4047Writer.Write(typeof(ICollection).FullName);
4048Writer.Write(")");
4049Writer.Write(elementArrayName);
4050Writer.Write(").Count");
4052Writer.Write("; ");
4053Writer.Write(arrayIndex);
4054Writer.WriteLine("++) {");
4055Writer.Indent++;
4061Writer.Indent--;
4062Writer.WriteLine("}");
4064Writer.Indent--;
4065Writer.WriteLine("}");
4066Writer.Indent--;
4067Writer.WriteLine("}");
4072Writer.WriteLine("{");
4073Writer.Indent++;
4083Writer.Write("if (");
4084Writer.Write(arrayName);
4085Writer.Write(" != null)");
4087Writer.WriteLine("{");
4088Writer.Indent++;
4093Writer.Indent--;
4094Writer.WriteLine("}");
4095Writer.Indent--;
4096Writer.WriteLine("}");
4104Writer.Write("Writer.WriteStartElement(");
4106Writer.Write(", ");
4108Writer.WriteLine(");");
4109Writer.Write(methodName);
4110Writer.Write("(");
4111Writer.Write(source);
4112Writer.WriteLine(");");
4136Writer.Write("WritePotentiallyReferencingElement(");
4138Writer.Write(", ");
4140Writer.Write(", ");
4141Writer.Write(source);
4144Writer.Write(", ");
4145Writer.Write(RaCodeGen.GetStringForTypeof(structMapping.TypeDesc!.CSharpName, structMapping.TypeDesc.UseReflection));
4146Writer.Write(", true, ");
4150Writer.Write(", null, false, ");
4162Writer.Write(methodName);
4163Writer.Write("(");
4165Writer.Write(", ");
4167Writer.Write("null");
4172Writer.Write(", ");
4173Writer.Write(source);
4176Writer.Write(", ");
4179Writer.Write(", false");
4181Writer.WriteLine(");");
4192Writer.Write("if ((");
4193Writer.Write(source);
4194Writer.Write(") is ");
4195Writer.Write(typeof(XmlNode).FullName);
4196Writer.Write(" || ");
4197Writer.Write(source);
4198Writer.Write(" == null");
4199Writer.WriteLine(") {");
4200Writer.Indent++;
4204Writer.Indent--;
4205Writer.WriteLine("}");
4206Writer.WriteLine("else {");
4207Writer.Indent++;
4209Writer.Write("throw CreateInvalidAnyTypeException(");
4210Writer.Write(source);
4211Writer.WriteLine(");");
4213Writer.Indent--;
4214Writer.WriteLine("}");
4225Writer.Write(func);
4226Writer.Write("((");
4227Writer.Write(cast.FullName);
4228Writer.Write(")");
4229Writer.Write(source);
4230Writer.Write(", ");
4232Writer.Write(", ");
4234Writer.Write(", ");
4236Writer.Write(", ");
4238Writer.WriteLine(");");
4244Writer.Write("if (");
4249Writer.Write("(");
4250Writer.Write(source);
4252Writer.Write(" == null) || (");
4254Writer.Write(" != null) && (");
4255Writer.Write(source);
4256Writer.Write(".Length != 0)");
4260Writer.Write("!");
4261Writer.Write(source);
4262Writer.Write(".Equals(");
4265Writer.Write(")");
4269Writer.Write(source);
4270Writer.Write(" != ");
4274Writer.Write(")");
4279Writer.Write("if (((object)");
4280Writer.Write(source);
4281Writer.Write(") != null && !(");
4283Writer.Write(")) throw CreateMismatchChoiceException(");
4285Writer.Write(", ");
4287Writer.Write(", ");
4289Writer.WriteLine(");");
4294Writer.Write("if ((object)(");
4295Writer.Write(source);
4296Writer.WriteLine(") == null) {");
4297Writer.Indent++;
4299Writer.Indent--;
4300Writer.WriteLine("}");
4301Writer.WriteLine("else {");
4302Writer.Indent++;
4309Writer.Write("null");
4322Writer.Write('\'');
4325Writer.Write("\'");
4327Writer.Write(ch);
4328Writer.Write('\'');
4331Writer.Write(((int)value).ToString(null, NumberFormatInfo.InvariantInfo));
4336Writer.Write("System.Double.NaN");
4340Writer.Write("System.Double.PositiveInfinity");
4344Writer.Write("System.Double.NegativeInfinity");
4348Writer.Write(((double)value).ToString("R", NumberFormatInfo.InvariantInfo));
4352Writer.Write((bool)value ? "true" : "false");
4355Writer.Write("(");
4356Writer.Write(type.FullName);
4357Writer.Write(")");
4358Writer.Write("(");
4359Writer.Write(Convert.ToString(value, NumberFormatInfo.InvariantInfo));
4360Writer.Write(")");
4366Writer.Write("System.Single.NaN");
4370Writer.Write("System.Single.PositiveInfinity");
4374Writer.Write("System.Single.NegativeInfinity");
4378Writer.Write(((float)value).ToString("R", NumberFormatInfo.InvariantInfo));
4379Writer.Write("f");
4384Writer.Write(((decimal)value).ToString(null, NumberFormatInfo.InvariantInfo));
4385Writer.Write("m");
4389Writer.Write(" new ");
4390Writer.Write(type.FullName);
4391Writer.Write("(");
4392Writer.Write(((DateTime)value).Ticks.ToString(CultureInfo.InvariantCulture));
4393Writer.Write(")");
4397Writer.Write(" new ");
4398Writer.Write(type.FullName);
4399Writer.Write("(");
4400Writer.Write(((DateTimeOffset)value).Ticks.ToString(CultureInfo.InvariantCulture));
4401Writer.Write(", new ");
4402Writer.Write(((DateTimeOffset)value).Offset.GetType().FullName);
4403Writer.Write("(");
4404Writer.Write(((DateTimeOffset)value).Offset.Ticks.ToString(CultureInfo.InvariantCulture));
4405Writer.Write("))");
4409Writer.Write(" new ");
4410Writer.Write(type.FullName);
4411Writer.Write("(");
4412Writer.Write(((TimeSpan)value).Ticks.ToString(CultureInfo.InvariantCulture));
4413Writer.Write(")");
4417Writer.Write(" new ");
4418Writer.Write(type.FullName);
4419Writer.Write("(");
4420Writer.Write(((DateOnly)value).Year.ToString(CultureInfo.InvariantCulture));
4421Writer.Write(", ");
4422Writer.Write(((DateOnly)value).Month.ToString(CultureInfo.InvariantCulture));
4423Writer.Write(", ");
4424Writer.Write(((DateOnly)value).Day.ToString(CultureInfo.InvariantCulture));
4425Writer.Write(")");
4429Writer.Write(" new ");
4430Writer.Write(type.FullName);
4431Writer.Write("(");
4432Writer.Write(((TimeOnly)value).Ticks.ToString(CultureInfo.InvariantCulture));
4433Writer.Write(")");
4439Writer.Write(((int)value).ToString(null, NumberFormatInfo.InvariantInfo));
4452Writer.Write("WriteNamespaceDeclarations(");
4453Writer.Write(source);
4454Writer.WriteLine(");");
4470Writer.Write("for (int i = ");
4471Writer.Write(loopStartSource);
4472Writer.Write("; i < ");
4473Writer.Write(loopEndSource);
4474Writer.WriteLine("; i++) {");
4475Writer.Indent++;
4476Writer.WriteLine("if (p[i] != null) {");
4477Writer.Indent++;
4478Writer.WriteLine("WritePotentiallyReferencingElement(null, null, p[i], p[i].GetType(), true, false);");
4479Writer.Indent--;
4480Writer.WriteLine("}");
4481Writer.Indent--;
4482Writer.WriteLine("}");