1646 references to Writer
System.Xml (1646)
System\Xml\Serialization\XmlSerializationReader.cs (936)
2119Writer.Write(Access); 2120Writer.Write(" class "); 2121Writer.Write(ClassName); 2122Writer.Write(" : "); 2123Writer.Write(typeof(XmlSerializationReader).FullName); 2124Writer.WriteLine(" {"); 2125Writer.Indent++; 2176Writer.WriteLine(); 2178Writer.Write("string "); 2179Writer.Write(idName); 2180Writer.WriteLine(";"); 2183Writer.WriteLine(); 2184Writer.WriteLine("protected override void InitIDs() {"); 2185Writer.Indent++; 2189Writer.Write(idName); 2190Writer.Write(" = Reader.NameTable.Add("); 2192Writer.WriteLine(");"); 2194Writer.Indent--; 2195Writer.WriteLine("}"); 2197Writer.Indent--; 2198Writer.WriteLine("}"); 2215Writer.Write("if (Reader.IsStartElement("); 2217Writer.Write(", "); 2219Writer.WriteLine(")) {"); 2220Writer.Indent++; 2225Writer.WriteLine("else {"); 2226Writer.Indent++; 2228Writer.Write(func); 2229Writer.Write("("); 2230Writer.Write(node); 2232Writer.Write(", "); 2236ReflectionAwareCodeGen.WriteQuotedCSharpString(Writer, expectedElement); 2238Writer.WriteLine(");"); 2240Writer.Indent--; 2241Writer.WriteLine("}"); 2246Writer.WriteLine(); 2247Writer.WriteLine("protected override void InitCallbacks() {"); 2248Writer.Indent++; 2266Writer.Write("AddReadCallback("); 2268Writer.Write(", "); 2270Writer.Write(", "); 2271Writer.Write(RaCodeGen.GetStringForTypeof(mapping.TypeDesc.CSharpName,mapping.TypeDesc.UseReflection)); 2272Writer.Write(", new "); 2273Writer.Write(typeof(XmlSerializationReadCallback).FullName); 2274Writer.Write("(this."); 2275Writer.Write(methodName); 2276Writer.WriteLine("));"); 2281Writer.Indent--; 2282Writer.WriteLine("}"); 2285Writer.WriteLine(); 2286Writer.Write("object "); 2287Writer.Write(dummyArrayMethodName); 2288Writer.WriteLine("() {"); 2289Writer.Indent++; 2290Writer.WriteLine("// dummy array method"); 2291Writer.WriteLine("UnknownNode(null);"); 2292Writer.WriteLine("return null;"); 2293Writer.Indent--; 2294Writer.WriteLine("}"); 2335Writer.WriteLine(); 2336Writer.Write("public object[] "); 2337Writer.Write(methodName); 2338Writer.WriteLine("() {"); 2339Writer.Indent++; 2340Writer.WriteLine("Reader.MoveToContent();"); 2342Writer.Write("object[] p = new object["); 2343Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2344Writer.WriteLine("];"); 2350Writer.Indent++; 2418if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2427Writer.WriteLine("Reader.MoveToElement();"); 2433Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); Reader.MoveToContent(); continue; }"); 2434Writer.WriteLine("Reader.ReadStartElement();"); 2437Writer.WriteLine("int state = 0;"); 2440Writer.Indent++; 2445Writer.WriteLine("Reader.MoveToContent();"); 2451Writer.WriteLine("ReadEndElement();"); 2453Writer.Indent--; 2454Writer.WriteLine("}"); 2458Writer.WriteLine("Reader.MoveToContent();"); 2462Writer.WriteLine("return p;"); 2463Writer.Indent--; 2464Writer.WriteLine("}"); 2473Writer.Write(arrayName); 2474Writer.Write("["); 2475Writer.Write(i.ToString(CultureInfo.InvariantCulture)); 2476Writer.Write("] = "); 2479Writer.Write("null"); 2482Writer.Write(RaCodeGen.GetStringForCreateInstance(mappings[i].TypeDesc.CSharpName, mappings[i].TypeDesc.UseReflection, false, false)); 2484Writer.WriteLine(";"); 2495Writer.WriteLine(); 2496Writer.Write("public object[] "); 2497Writer.Write(methodName); 2498Writer.WriteLine("() {"); 2499Writer.Indent++; 2501Writer.WriteLine("Reader.MoveToContent();"); 2503Writer.Write("object[] p = new object["); 2504Writer.Write(mappings.Length.ToString(CultureInfo.InvariantCulture)); 2505Writer.WriteLine("];"); 2512Writer.Write("if (!"); 2514Writer.WriteLine(") throw CreateUnknownNodeException();"); 2516Writer.WriteLine("bool isEmptyWrapper = Reader.IsEmptyElement;"); 2517Writer.WriteLine("Reader.ReadStartElement();"); 2548if (members.Length > 0 && members[0].Mapping.IsReturnValue) Writer.WriteLine("IsReturnValue = true;"); 2556Writer.Indent++; 2560Writer.WriteLine("Reader.MoveToContent();"); 2565Writer.WriteLine("if (!isEmptyWrapper) ReadEndElement();"); 2570Writer.WriteLine("ReadReferencedElements();"); 2571Writer.WriteLine("return p;"); 2573Writer.Indent--; 2574Writer.WriteLine("}"); 2590Writer.Write(item); 2591Writer.Write(" "); 2592Writer.Write("ci ="); 2593Writer.Write("("+item+")"); 2594Writer.Write(source); 2595Writer.WriteLine(";"); 2597Writer.WriteLine("for (int i = 0; i < ci.Length; i++) {"); 2598Writer.Indent++; 2599Writer.Write(RaCodeGen.GetStringForMethod("c", td.CSharpName,"Add",useReflection)); 2604Writer.Write( "ci[i]"); 2606Writer.Write(RaCodeGen.GetReflectionVariable(typeof(Array).FullName, "0") + "[ci , i]"); 2609if (useReflection) Writer.WriteLine("}"); 2610Writer.WriteLine(");"); 2611Writer.Indent--; 2612Writer.WriteLine("}"); 2619Writer.WriteLine(); 2620Writer.Write("public object "); 2621Writer.Write(methodName); 2622Writer.WriteLine("() {"); 2623Writer.Indent++; 2624Writer.WriteLine("object o = null;"); 2630Writer.WriteLine("Reader.MoveToContent();"); 2634Writer.WriteLine("Referenced(o);"); 2635Writer.WriteLine("ReadReferencedElements();"); 2637Writer.WriteLine("return (object)o;"); 2638Writer.Indent--; 2639Writer.WriteLine("}"); 2657Writer.Write("("); 2658Writer.Write(mapping.TypeDesc.CSharpName); 2659Writer.Write(")"); 2661Writer.Write(enumMethodName); 2662Writer.Write("("); 2663if (!mapping.IsSoap) Writer.Write(source); 2664Writer.Write(")"); 2667Writer.Write(source); 2671Writer.Write("CollapseWhitespace("); 2672Writer.Write(source); 2673Writer.Write(")"); 2676Writer.Write(source); 2681Writer.Write(typeof(XmlConvert).FullName); 2682Writer.Write("."); 2684Writer.Write("To"); 2685Writer.Write(mapping.TypeDesc.FormatterName); 2686Writer.Write("("); 2687Writer.Write(source); 2688Writer.Write(")"); 2719Writer.WriteLine(); 2720Writer.Write(typeof(Hashtable).FullName); 2721Writer.Write(" "); 2722Writer.Write(memberName); 2723Writer.WriteLine(";"); 2724Writer.WriteLine(); 2726Writer.Write("internal "); 2727Writer.Write(typeof(Hashtable).FullName); 2728Writer.Write(" "); 2729Writer.Write(propName); 2730Writer.WriteLine(" {"); 2731Writer.Indent++; 2733Writer.WriteLine("get {"); 2734Writer.Indent++; 2736Writer.Write("if ((object)"); 2737Writer.Write(memberName); 2738Writer.WriteLine(" == null) {"); 2739Writer.Indent++; 2741Writer.Write(typeof(Hashtable).FullName); 2742Writer.Write(" h = new "); 2743Writer.Write(typeof(Hashtable).FullName); 2744Writer.WriteLine("();"); 2749Writer.Write("h.Add("); 2752Writer.Write(", (long)"); 2753Writer.Write(mapping.TypeDesc.CSharpName); 2754Writer.Write(".@"); 2756Writer.Write(constants[i].Name); 2759Writer.Write(", "); 2760Writer.Write(constants[i].Value.ToString(CultureInfo.InvariantCulture)+"L"); 2763Writer.WriteLine(");"); 2766Writer.Write(memberName); 2767Writer.WriteLine(" = h;"); 2769Writer.Indent--; 2770Writer.WriteLine("}"); 2772Writer.Write("return "); 2773Writer.Write(memberName); 2774Writer.WriteLine(";"); 2776Writer.Indent--; 2777Writer.WriteLine("}"); 2779Writer.Indent--; 2780Writer.WriteLine("}"); 2791Writer.WriteLine(); 2796Writer.Write("object"); 2797Writer.Write(" "); 2798Writer.Write(methodName); 2799Writer.WriteLine("() {"); 2800Writer.Indent++; 2801Writer.WriteLine("string s = Reader.ReadElementString();"); 2804Writer.Write(useReflection?"object":fullTypeName); 2805Writer.Write(" "); 2806Writer.Write(methodName); 2807Writer.WriteLine("(string s) {"); 2808Writer.Indent++; 2814Writer.Write("return "); 2815Writer.Write(typeof(Enum).FullName); 2816Writer.Write(".ToObject("); 2817Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 2818Writer.Write(", ToEnum(s, "); 2819Writer.Write(tableName); 2820Writer.Write(", "); 2822Writer.WriteLine("));"); 2825Writer.Write("return ("); 2826Writer.Write(fullTypeName); 2827Writer.Write(")ToEnum(s, "); 2828Writer.Write(tableName); 2829Writer.Write(", "); 2831Writer.WriteLine(");"); 2835Writer.WriteLine("switch (s) {"); 2836Writer.Indent++; 2843Writer.Write("case "); 2845Writer.Write(": return "); 2846Writer.Write(RaCodeGen.GetStringForEnumMember(fullTypeName, c.Name, useReflection)); 2847Writer.WriteLine(";"); 2852Writer.Write("default: throw CreateUnknownConstantException(s, "); 2853Writer.Write(RaCodeGen.GetStringForTypeof(fullTypeName, useReflection)); 2854Writer.WriteLine(");"); 2855Writer.Indent--; 2856Writer.WriteLine("}"); 2859Writer.Indent--; 2860Writer.WriteLine("}"); 2866Writer.Write("else if ("); 2868Writer.WriteLine(")"); 2869Writer.Indent++; 2877Writer.Write("return "); 2879Writer.Write("(" + returnTypeName + ")"); 2880Writer.Write(methodName); 2881Writer.Write("("); 2883Writer.Write("isNullable, "); 2884Writer.WriteLine("false);"); 2886Writer.Indent--; 2899Writer.Write("else if ("); 2901Writer.WriteLine(") {"); 2902Writer.Indent++; 2903Writer.WriteLine("Reader.ReadStartElement();"); 2909Writer.Write("object e = "); 2910Writer.Write(methodName); 2911Writer.WriteLine("(CollapseWhitespace(Reader.ReadString()));"); 2912Writer.WriteLine("ReadEndElement();"); 2913Writer.WriteLine("return e;"); 2914Writer.Indent--; 2915Writer.WriteLine("}"); 2920Writer.Write("else if ("); 2922Writer.WriteLine(") {"); 2923Writer.Indent++; 2933Writer.Write(typeof(Array).FullName); 2935Writer.Write("object"); 2938Writer.Write(fullTypeName); 2939Writer.Write(" a = "); 2941Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, td.UseReflection, false, false)); 2942Writer.WriteLine(";"); 2945Writer.WriteLine("null;"); 2948Writer.WriteLine("return a;"); 2949Writer.Indent--; 2950Writer.WriteLine("}"); 2961Writer.WriteLine(); 2963Writer.Write(typeName); 2964Writer.Write(" "); 2965Writer.Write(methodName); 2966Writer.WriteLine("(bool checkType) {"); 2967Writer.Indent++; 2969Writer.Write(typeName); 2970Writer.Write(" o = "); 2973Writer.Write("null"); 2976Writer.Write("default("); 2977Writer.Write(typeName); 2978Writer.Write(")"); 2980Writer.WriteLine(";"); 2982Writer.WriteLine("if (ReadNull())"); 2983Writer.Indent++; 2985Writer.WriteLine("return o;"); 2986Writer.Indent--; 2994Writer.WriteLine("return o;"); 2996Writer.Indent--; 2997Writer.WriteLine("}"); 3011Writer.WriteLine(); 3012Writer.Write(typeName); 3013Writer.Write(" "); 3014Writer.Write(methodName); 3015Writer.Write("("); 3017Writer.Write("bool isNullable, "); 3018Writer.WriteLine("bool checkType) {"); 3019Writer.Indent++; 3021Writer.Write(typeof(XmlQualifiedName).FullName); 3022Writer.WriteLine(" xsiType = checkType ? GetXsiType() : null;"); 3023Writer.WriteLine("bool isNull = false;"); 3025Writer.WriteLine("if (isNullable) isNull = ReadNull();"); 3027Writer.WriteLine("if (checkType) {"); 3029Writer.Indent++; 3030Writer.WriteLine("if (isNull) {"); 3031Writer.Indent++; 3032Writer.WriteLine("if (xsiType != null) return (" + typeName + ")ReadTypedNull(xsiType);"); 3033Writer.Write("else return "); 3035Writer.Write(RaCodeGen.GetStringForCreateInstance(structMapping.TypeDesc.CSharpName, useReflection, false, false)); 3036Writer.WriteLine(";"); 3039Writer.WriteLine("null;"); 3041Writer.Indent--; 3042Writer.WriteLine("}"); 3044Writer.Write("if (xsiType == null"); 3046Writer.Write(" || "); 3049Writer.WriteLine(") {"); 3051Writer.Indent++; 3052Writer.WriteLine("return ReadTypedPrimitive(new System.Xml.XmlQualifiedName(\"" + Soap.UrType + "\", \"" + XmlSchema.Namespace + "\"));"); 3053Writer.Indent--; 3055Writer.WriteLine("}"); 3058Writer.WriteLine("else"); 3059Writer.Indent++; 3061Writer.Write("return ReadTypedPrimitive(("); 3063Writer.Write("throw CreateUnknownTypeException(("); 3064Writer.Write(typeof(XmlQualifiedName).FullName); 3065Writer.WriteLine(")xsiType);"); 3066Writer.Indent--; 3067Writer.WriteLine("}"); 3070Writer.WriteLine("if (isNull) return null;"); 3073Writer.Write("throw CreateAbstractTypeException("); 3075Writer.Write(", "); 3077Writer.WriteLine(");"); 3081Writer.WriteLine("DecodeName = false;"); 3160Writer.WriteLine("Reader.MoveToElement();"); 3162Writer.WriteLine("if (Reader.IsEmptyElement) {"); 3163Writer.Indent++; 3164Writer.WriteLine("Reader.Skip();"); 3166Writer.WriteLine("return o;"); 3167Writer.Indent--; 3168Writer.WriteLine("}"); 3170Writer.WriteLine("Reader.ReadStartElement();"); 3172Writer.WriteLine("int state = 0;"); 3175Writer.Indent++; 3178Writer.WriteLine("Reader.MoveToContent();"); 3183Writer.WriteLine("ReadEndElement();"); 3184Writer.WriteLine("return o;"); 3186Writer.Indent--; 3187Writer.WriteLine("}"); 3195Writer.WriteLine(); 3196Writer.Write("object"); 3197Writer.Write(" "); 3198Writer.Write(methodName); 3199Writer.Write("("); 3200Writer.WriteLine(") {"); 3201Writer.Indent++; 3208Writer.Write("throw CreateAbstractTypeException("); 3210Writer.Write(", "); 3212Writer.WriteLine(");"); 3241Writer.WriteLine("Reader.MoveToElement();"); 3243Writer.WriteLine("if (Reader.IsEmptyElement) { Reader.Skip(); return o; }"); 3244Writer.WriteLine("Reader.ReadStartElement();"); 3247Writer.Indent++; 3250Writer.WriteLine("Reader.MoveToContent();"); 3254Writer.WriteLine("ReadEndElement();"); 3255Writer.WriteLine("return o;"); 3257Writer.Indent--; 3258Writer.WriteLine("}"); 3264Writer.WriteLine(); 3265Writer.Write("void "); 3266Writer.Write(fixupMethodName); 3267Writer.WriteLine("(object objFixup) {"); 3268Writer.Indent++; 3269Writer.WriteLine("Fixup fixup = (Fixup)objFixup;"); 3271Writer.WriteLine("string[] ids = fixup.Ids;"); 3277Writer.Write("if (ids["); 3278Writer.Write(fixupIndex); 3279Writer.WriteLine("] != null) {"); 3280Writer.Indent++; 3291Writer.WriteLine("try {"); 3292Writer.Indent++; 3298Writer.Write(targetSource); 3300Writer.WriteLine(";"); 3303Writer.Write(member.CheckSpecifiedSource); 3304Writer.WriteLine(" = true;"); 3311Writer.Indent--; 3312Writer.WriteLine("}"); 3315Writer.Indent--; 3316Writer.WriteLine("}"); 3320Writer.WriteLine("// get array of the collection items"); 3329Writer.Write("if ((object)("); 3330Writer.Write(memberSource); 3331Writer.WriteLine(") == null) {"); 3332Writer.Indent++; 3335Writer.Write("throw CreateReadOnlyCollectionException("); 3337Writer.WriteLine(");"); 3340Writer.Write(memberSource); 3341Writer.Write(" = "); 3342Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDesc.CSharpName, typeDesc.UseReflection, typeDesc.CannotNew, true)); 3343Writer.WriteLine(";"); 3346Writer.Indent--; 3347Writer.WriteLine("}"); 3349Writer.Write("CollectionFixup collectionFixup = new CollectionFixup("); 3350Writer.Write(memberSource); 3351Writer.Write(", "); 3352Writer.Write("new "); 3353Writer.Write(typeof(XmlSerializationCollectionFixupCallback).FullName); 3354Writer.Write("(this."); 3355Writer.Write(create.Name); 3356Writer.Write("), "); 3357Writer.Write(targetSource); 3358Writer.WriteLine(");"); 3359Writer.WriteLine("AddFixup(collectionFixup);"); 3363Writer.Write("void "); 3364Writer.Write(c.Name); 3365Writer.WriteLine("(object collection, object collectionItems) {"); 3366Writer.Indent++; 3368Writer.WriteLine("if (collectionItems == null) return;"); 3369Writer.WriteLine("if (collection == null) return;"); 3378Writer.Indent--; 3379Writer.WriteLine("}"); 3383Writer.Write("((object) (("); 3384Writer.Write(typeof(XmlQualifiedName).FullName); 3385Writer.Write(")"); 3386Writer.Write(source); 3387Writer.Write(").Name == (object)"); 3389Writer.Write(" && (object) (("); 3390Writer.Write(typeof(XmlQualifiedName).FullName); 3391Writer.Write(")"); 3392Writer.Write(source); 3393Writer.Write(").Namespace == (object)"); 3395Writer.Write(")"); 3399Writer.Write("("); 3401Writer.Write("(object) "); 3402Writer.Write(source); 3403Writer.Write(".LocalName == (object)"); 3405Writer.Write(" && "); 3407Writer.Write("(object) "); 3408Writer.Write(source); 3409Writer.Write(".NamespaceURI == (object)"); 3411Writer.Write(")"); 3425Writer.Write(idName); 3433Writer.WriteLine("while (Reader.MoveToNextAttribute()) {"); 3434Writer.Indent++; 3452Writer.Write("else "); 3454Writer.Write("if ("); 3456Writer.Write("!"); 3457Writer.Write(member.ParamsReadSource); 3458Writer.Write(" && "); 3466Writer.WriteLine(") {"); 3467Writer.Indent++; 3470Writer.Indent--; 3471Writer.WriteLine("}"); 3475Writer.Write("else "); 3478Writer.WriteLine("if (IsXmlnsAttribute(Reader.Name)) {"); 3479Writer.Indent++; 3481Writer.Write("if ("); 3482Writer.Write(xmlnsMember.Source); 3483Writer.Write(" == null) "); 3484Writer.Write(xmlnsMember.Source); 3485Writer.Write(" = new "); 3486Writer.Write(xmlnsMember.Mapping.TypeDesc.CSharpName); 3487Writer.WriteLine("();"); 3490Writer.Write("(("+xmlnsMember.Mapping.TypeDesc.CSharpName+")"+ xmlnsMember.ArraySource+")"); 3491Writer.WriteLine(".Add(Reader.Name.Length == 5 ? \"\" : Reader.LocalName, Reader.Value);"); 3493Writer.Indent--; 3494Writer.WriteLine("}"); 3496Writer.WriteLine("else {"); 3497Writer.Indent++; 3500Writer.WriteLine("if (!IsXmlnsAttribute(Reader.Name)) {"); 3501Writer.Indent++; 3504Writer.Write(typeof(XmlAttribute).FullName); 3505Writer.Write(" attr = "); 3506Writer.Write("("); 3507Writer.Write(typeof(XmlAttribute).FullName); 3508Writer.WriteLine(") Document.ReadNode(Reader);"); 3509Writer.WriteLine("ParseWsdlArrayType(attr);"); 3513Writer.Write(elseCall); 3514Writer.Write("("); 3515Writer.Write(firstParam); 3517Writer.Write(", "); 3528Writer.WriteLine(");"); 3530Writer.Indent--; 3531Writer.WriteLine("}"); 3533Writer.Indent--; 3534Writer.WriteLine("}"); 3546Writer.Write("attr"); 3548Writer.WriteLine(";"); 3551Writer.Write("if (attr is "); 3552Writer.Write(typeof(XmlAttribute).FullName); 3553Writer.WriteLine(") {"); 3554Writer.Indent++; 3556Writer.Write("("); 3557Writer.Write(typeof(XmlAttribute).FullName); 3558Writer.Write(")attr"); 3560Writer.WriteLine(";"); 3561Writer.Indent--; 3562Writer.WriteLine("}"); 3569Writer.WriteLine("string listValues = Reader.Value;"); 3570Writer.WriteLine("string[] vals = listValues.Split(null);"); 3571Writer.WriteLine("for (int i = 0; i < vals.Length; i++) {"); 3572Writer.Indent++; 3579Writer.WriteLine(";"); 3580Writer.Indent--; 3581Writer.WriteLine("}"); 3587Writer.WriteLine(";"); 3591Writer.Write(member.CheckSpecifiedSource); 3592Writer.WriteLine(" = true;"); 3595Writer.Write(member.ParamsReadSource); 3596Writer.WriteLine(" = true;"); 3615Writer.Write("Fixup fixup = new Fixup("); 3616Writer.Write(source); 3617Writer.Write(", "); 3618Writer.Write("new "); 3619Writer.Write(typeof(XmlSerializationFixupCallback).FullName); 3620Writer.Write("(this."); 3621Writer.Write(fixupMethodName); 3622Writer.Write("), "); 3623Writer.Write(fixupCount.ToString(CultureInfo.InvariantCulture)); 3624Writer.WriteLine(");"); 3625Writer.WriteLine("AddFixup(fixup);"); 3646Writer.Write("int "); 3647Writer.Write(c); 3648Writer.WriteLine(" = 0;"); 3654Writer.Write("int c"); 3655Writer.Write(member.ChoiceArrayName); 3656Writer.WriteLine(" = 0;"); 3664Writer.Write(member.Source); 3665Writer.Write(a); 3667Writer.WriteLine("});"); 3669Writer.WriteLine(");"); 3674Writer.Write("if ((object)("); 3675Writer.Write(member.Source); 3676Writer.Write(") == null) "); 3678Writer.Write("throw CreateReadOnlyCollectionException("); 3680Writer.WriteLine(");"); 3683Writer.Write(member.Source); 3684Writer.Write(" = "); 3685Writer.Write(RaCodeGen.GetStringForCreateInstance(typeDescFullName, useReflection, typeDesc.CannotNew, true)); 3686Writer.WriteLine(";"); 3732Writer.WriteLine("string tmp = null;"); 3735Writer.Write("if (Reader.NodeType == "); 3736Writer.Write(typeof(XmlNodeType).FullName); 3737Writer.WriteLine(".Element) {"); 3738Writer.Indent++; 3748Writer.Indent--; 3749Writer.WriteLine("}"); 3754Writer.WriteLine("else {"); 3755Writer.Indent++; 3756Writer.WriteLine(elseString); 3757Writer.Indent--; 3758Writer.WriteLine("}"); 3762Writer.Write("else if (Reader.NodeType == "); 3763Writer.Write(typeof(XmlNodeType).FullName); 3764Writer.WriteLine(".Text || "); 3765Writer.Write("Reader.NodeType == "); 3766Writer.Write(typeof(XmlNodeType).FullName); 3767Writer.WriteLine(".CDATA || "); 3768Writer.Write("Reader.NodeType == "); 3769Writer.Write(typeof(XmlNodeType).FullName); 3770Writer.WriteLine(".Whitespace || "); 3771Writer.Write("Reader.NodeType == "); 3772Writer.Write(typeof(XmlNodeType).FullName); 3773Writer.WriteLine(".SignificantWhitespace) {"); 3774Writer.Indent++; 3780Writer.Write(elseString); 3781Writer.WriteLine(";"); 3783Writer.Indent--; 3784Writer.WriteLine("}"); 3796Writer.Write("Document.CreateTextNode(Reader.ReadString())"); 3807Writer.Write("CollapseWhitespace(Reader.ReadString())"); 3810Writer.Write("Reader.ReadString()"); 3815Writer.Write("tmp = ReadString(tmp, "); 3817Writer.WriteLine("true);"); 3819Writer.WriteLine("false);"); 3822Writer.Write("tmp"); 3832Writer.WriteLine(";"); 3836Writer.WriteLine("string refElemId = null;"); 3837Writer.WriteLine("object refElem = ReadReferencingElement(null, null, true, out refElemId);"); 3839Writer.WriteLine("if (refElemId != null) {"); 3840Writer.Indent++; 3841Writer.Write(checkTypeHrefsSource); 3842Writer.WriteLine(".Add(refElemId);"); 3843Writer.Write(checkTypeHrefsSource); 3844Writer.WriteLine("IsObject.Add(false);"); 3845Writer.Indent--; 3846Writer.WriteLine("}"); 3847Writer.WriteLine("else if (refElem != null) {"); 3848Writer.Indent++; 3849Writer.Write(checkTypeHrefsSource); 3850Writer.WriteLine(".Add(refElem);"); 3851Writer.Write(checkTypeHrefsSource); 3852Writer.WriteLine("IsObject.Add(true);"); 3853Writer.Indent--; 3854Writer.WriteLine("}"); 3869Writer.WriteLine(elementElseString); 3887Writer.WriteLine("switch (state) {"); 3909Writer.Write("else "); 3912Writer.Write("case "); 3913Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 3914Writer.WriteLine(":"); 3915Writer.Indent++; 3919Writer.Write("if ("); 3921Writer.Write("!"); 3922Writer.Write(member.ParamsReadSource); 3923Writer.Write(" && "); 3928Writer.Write(RaCodeGen.GetStringForTypeof(td.CSharpName, td.UseReflection)); 3931Writer.Write(RaCodeGen.GetStringForTypeof(e.Mapping.TypeDesc.CSharpName, e.Mapping.TypeDesc.UseReflection)); 3933Writer.Write(".IsAssignableFrom("); 3934Writer.Write(checkTypeSource); 3935Writer.Write("Type)"); 3939Writer.Write("(IsReturnValue || "); 3941Writer.Write("true"); 3947Writer.Write(")"); 3949Writer.WriteLine(") {"); 3950Writer.Indent++; 3953Writer.Write("if ("); 3954Writer.Write(checkTypeSource); 3955Writer.WriteLine(" != null) {"); 3956Writer.Indent++; 3961Writer.Write(RaCodeGen.GetStringForCreateInstance(e.Mapping.TypeDesc.CSharpName, e.Mapping.TypeDesc.UseReflection, false, true, "(" + td.CSharpName + ")" + checkTypeSource)); 3965Writer.Write(checkTypeSource); 3968Writer.WriteLine(";"); 3970Writer.Indent--; 3971Writer.WriteLine("}"); 3974Writer.Write("fixup.Ids["); 3975Writer.Write(member.FixupIndex.ToString(CultureInfo.InvariantCulture)); 3976Writer.Write("] = "); 3977Writer.Write(checkTypeSource); 3978Writer.WriteLine("Id;"); 3985Writer.WriteLine("IsReturnValue = false;"); 3987Writer.Write(member.ParamsReadSource); 3988Writer.WriteLine(" = true;"); 3990Writer.Indent--; 3991Writer.WriteLine("}"); 3995Writer.WriteLine("else {"); 3996Writer.Indent++; 3999Writer.Write("state = "); 4000Writer.Write(cases.ToString(CultureInfo.InvariantCulture)); 4001Writer.WriteLine(";"); 4003Writer.Indent--; 4004Writer.WriteLine("}"); 4006Writer.WriteLine("break;"); 4007Writer.Indent--; 4012Writer.WriteLine("default:"); 4014Writer.WriteLine("else {"); 4015Writer.Indent++; 4020Writer.WriteLine("break;"); 4022Writer.Indent--; 4023Writer.WriteLine("}"); 4076Writer.Write(" soap[1] = "); 4084Writer.Write("(" +arrayTypeFullName +"[])"); 4085Writer.Write("ShrinkArray("); 4086Writer.Write(a); 4087Writer.Write(", "); 4088Writer.Write(c); 4089Writer.Write(", "); 4090Writer.Write(RaCodeGen.GetStringForTypeof(arrayTypeFullName, arrayUseReflection)); 4091Writer.Write(", "); 4093Writer.Write(")"); 4095Writer.WriteLine(";"); 4105Writer.Write("(" +choiceTypeName+"[])"); 4106Writer.Write("ShrinkArray("); 4107Writer.Write(a); 4108Writer.Write(", "); 4109Writer.Write(c); 4110Writer.Write(", "); 4111Writer.Write(RaCodeGen.GetStringForTypeof(choiceTypeName, choiceUseReflection)); 4112Writer.Write(", "); 4114Writer.Write(")"); 4116Writer.WriteLine(";"); 4121Writer.Write(member.Source); 4122Writer.Write(" = "); 4123Writer.Write(member.ArrayName); 4124Writer.WriteLine(";"); 4133Writer.Write("("); 4134Writer.Write(typeDesc.CSharpName); 4135Writer.Write(")"); 4140Writer.Write(source); 4142Writer.Write(" = "); 4149Writer.Write(")"); 4151Writer.Write("})"); 4156Writer.Write("object rre = "); 4157Writer.Write(fixupIndex >= 0 ? "ReadReferencingElement" : "ReadReferencedElement"); 4158Writer.Write("("); 4160Writer.Write(", "); 4163Writer.Write(", "); 4164Writer.Write("out fixup.Ids["); 4165Writer.Write((fixupIndex).ToString(CultureInfo.InvariantCulture)); 4166Writer.Write("]"); 4168Writer.WriteLine(");"); 4172Writer.WriteLine("if (rre != null) {"); 4173Writer.Indent++; 4175Writer.Indent--; 4176Writer.WriteLine("}"); 4179Writer.WriteLine("try {"); 4180Writer.Indent++; 4182Writer.Write("rre"); 4184Writer.WriteLine(";"); 4189Writer.WriteLine("if (!ReadNull()) {"); 4190Writer.Indent++; 4203Writer.Write("if (((object)("); 4204Writer.Write(member.ArrayName); 4205Writer.Write(") == null) || "); 4208Writer.Write("if ("); 4210Writer.WriteLine("(Reader.IsEmptyElement)) {"); 4211Writer.Indent++; 4212Writer.WriteLine("Reader.Skip();"); 4213Writer.Indent--; 4214Writer.WriteLine("}"); 4215Writer.WriteLine("else {"); 4216Writer.Indent++; 4218Writer.WriteLine("Reader.ReadStartElement();"); 4220Writer.Indent++; 4224Writer.WriteLine("Reader.MoveToContent();"); 4227Writer.Indent--; 4228Writer.WriteLine("ReadEndElement();"); 4229Writer.WriteLine("}"); 4233Writer.Indent--; 4234Writer.WriteLine("}"); 4236Writer.WriteLine("else {"); 4237Writer.Indent++; 4241Writer.Indent--; 4242Writer.WriteLine("}"); 4249Writer.Write(checkSpecified); 4250Writer.WriteLine(" = true;"); 4263Writer.Write(methodName); 4264Writer.Write("(true)"); 4266Writer.WriteLine(";"); 4270Writer.WriteLine("if (ReadNull()) {"); 4271Writer.Indent++; 4274Writer.Write(RaCodeGen.GetStringForCreateInstance(element.Mapping.TypeDesc.CSharpName, element.Mapping.TypeDesc.UseReflection, false, false)); 4277Writer.Write("null"); 4280Writer.WriteLine(";"); 4281Writer.Indent--; 4282Writer.WriteLine("}"); 4283Writer.Write("else "); 4286Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4287Writer.Indent++; 4288Writer.WriteLine("Reader.Skip();"); 4289Writer.Indent--; 4290Writer.WriteLine("}"); 4291Writer.WriteLine("else {"); 4294Writer.WriteLine("{"); 4296Writer.Indent++; 4301Writer.WriteLine("if (Reader.IsEmptyElement) {"); 4302Writer.Indent++; 4303Writer.WriteLine("Reader.Skip();"); 4305Writer.Write("default(System.TimeSpan)"); 4307Writer.WriteLine(";"); 4308Writer.Indent--; 4309Writer.WriteLine("}"); 4310Writer.WriteLine("else {"); 4311Writer.Indent++; 4315Writer.WriteLine(";"); 4316Writer.Indent--; 4317Writer.WriteLine("}"); 4323Writer.Write("ReadElementQualifiedName()"); 4339Writer.WriteLine(";"); 4342Writer.Indent--; 4343Writer.WriteLine("}"); 4348Writer.Write("object rre = "); 4349Writer.Write(fixupIndex >= 0 ? "ReadReferencingElement" : "ReadReferencedElement"); 4350Writer.Write("("); 4352Writer.Write(", "); 4356Writer.Write(", out fixup.Ids["); 4357Writer.Write((fixupIndex).ToString(CultureInfo.InvariantCulture)); 4358Writer.Write("]"); 4360Writer.Write(")"); 4362Writer.WriteLine(";"); 4365Writer.WriteLine("if (rre != null) {"); 4366Writer.Indent++; 4369Writer.WriteLine("try {"); 4370Writer.Indent++; 4372Writer.Write("rre"); 4374Writer.WriteLine(";"); 4376Writer.Write("Referenced("); 4377Writer.Write(source); 4378Writer.WriteLine(");"); 4380Writer.Indent--; 4381Writer.WriteLine("}"); 4392Writer.Write("if ((object)("); 4393Writer.Write(arrayName); 4394Writer.Write(") == null) Reader.Skip(); else "); 4397Writer.Write(methodName); 4398Writer.Write("("); 4401Writer.Write(", "); 4403Writer.Write("true"); 4404Writer.Write(")"); 4406Writer.WriteLine(";"); 4415Writer.Write(isDoc ? "ReadXmlDocument(" : "ReadXmlNode("); 4416Writer.Write(element.Any ? "false" : "true"); 4417Writer.Write(")"); 4419Writer.WriteLine(";"); 4425Writer.Write(typeof(XmlQualifiedName).FullName); 4426Writer.WriteLine(" tser = GetXsiType();"); 4427Writer.Write("if (tser == null"); 4428Writer.Write(" || "); 4431Writer.WriteLine(") {"); 4432Writer.Indent++; 4435Writer.Write("ReadSerializable(( "); 4436Writer.Write(typeof(IXmlSerializable).FullName); 4437Writer.Write(")"); 4438Writer.Write(RaCodeGen.GetStringForCreateInstance(sm.TypeDesc.CSharpName, sm.TypeDesc.UseReflection, sm.TypeDesc.CannotNew, false)); 4441Writer.WriteLine(", true"); 4443Writer.Write(")"); 4445Writer.WriteLine(";"); 4447Writer.Indent--; 4448Writer.WriteLine("}"); 4467Writer.Write(choiceSource); 4468Writer.Write(" = "); 4470Writer.Write(RaCodeGen.GetStringForEnumMember(enumTypeName, choice.MemberIds[elementIndex], choice.Mapping.TypeDesc.UseReflection)); 4471Writer.WriteLine(";"); 4479Writer.Write("else if (tser == null"); 4480Writer.Write(" || "); 4483Writer.WriteLine(") {"); 4484Writer.Indent++; 4489Writer.Write("ReadSerializable(( "); 4490Writer.Write(typeof(IXmlSerializable).FullName); 4491Writer.Write(")"); 4492Writer.Write(RaCodeGen.GetStringForCreateInstance(derived.TypeDesc.CSharpName, derived.TypeDesc.UseReflection, derived.TypeDesc.CannotNew, false)); 4494Writer.WriteLine(", true"); 4496Writer.Write(")"); 4498Writer.WriteLine(";"); 4501Writer.Write("throw CreateBadDerivationException("); 4503Writer.Write(", "); 4505Writer.Write(", "); 4507Writer.Write(", "); 4509Writer.Write(", "); 4511Writer.Write(", "); 4513Writer.WriteLine(");"); 4517Writer.WriteLine("// " + "missing real mapping for " + derived.XsiType); 4518Writer.Write("throw CreateMissingIXmlSerializableType("); 4520Writer.Write(", "); 4522Writer.Write(", "); 4524Writer.WriteLine(");"); 4527Writer.Indent--; 4528Writer.WriteLine("}"); 4536Writer.WriteLine("Reader.MoveToContent();"); 4538Writer.Write("while (Reader.NodeType != "); 4539Writer.Write(typeof(XmlNodeType).FullName); 4540Writer.Write(".EndElement && Reader.NodeType != "); 4541Writer.Write(typeof(XmlNodeType).FullName); 4542Writer.WriteLine(".None) {"); 4549Writer.Indent--; 4550Writer.WriteLine("}"); 4555Writer.WriteLine(String.Format(CultureInfo.InvariantCulture, "int whileIterations{0} = 0;", nextWhileLoopIndex)); 4556Writer.WriteLine(String.Format(CultureInfo.InvariantCulture, "int readerCount{0} = ReaderCount;", nextWhileLoopIndex)); 4562Writer.WriteLine(String.Format(CultureInfo.InvariantCulture, "CheckReaderCount(ref whileIterations{0}, ref readerCount{1});", loopIndex, loopIndex)); 4566Writer.Write("bool[] paramsRead = new bool["); 4567Writer.Write(length.ToString(CultureInfo.InvariantCulture)); 4568Writer.WriteLine("];"); 4572Writer.WriteLine("Reader.MoveToContent();"); 4574Writer.Write("while (Reader.NodeType == "); 4575Writer.Write(typeof(XmlNodeType).FullName); 4576Writer.WriteLine(".Element) {"); 4577Writer.Indent++; 4578Writer.Write("string root = Reader.GetAttribute(\"root\", \""); 4579Writer.Write(Soap.Encoding); 4580Writer.WriteLine("\");"); 4581Writer.Write("if (root == null || "); 4582Writer.Write(typeof(XmlConvert).FullName); 4583Writer.WriteLine(".ToBoolean(root)) break;"); 4584Writer.WriteLine("ReadReferencedElement();"); 4585Writer.WriteLine("Reader.MoveToContent();"); 4590Writer.Write(value ? "true" : "false"); 4594Writer.Write(typeof(ArrayList).FullName); 4595Writer.Write(" "); 4596Writer.Write(source); 4597Writer.Write(" = new "); 4598Writer.Write(typeof(ArrayList).FullName); 4599Writer.WriteLine("();"); 4601Writer.Write(typeof(ArrayList).FullName); 4602Writer.Write(" "); 4603Writer.Write(source); 4604Writer.Write("IsObject = new "); 4605Writer.Write(typeof(ArrayList).FullName); 4606Writer.WriteLine("();"); 4610Writer.WriteLine("int isObjectIndex = 0;"); 4611Writer.Write("foreach (object obj in "); 4612Writer.Write(listSource); 4613Writer.WriteLine(") {"); 4614Writer.Indent++; 4615Writer.WriteLine("bool isReferenced = true;"); 4616Writer.Write("bool isObject = (bool)"); 4617Writer.Write(listSource); 4618Writer.WriteLine("IsObject[isObjectIndex++];"); 4619Writer.WriteLine("object refObj = isObject ? obj : GetTarget((string)obj);"); 4620Writer.WriteLine("if (refObj == null) continue;"); 4621Writer.Write(typeof(Type).FullName); 4622Writer.WriteLine(" refObjType = refObj.GetType();"); 4623Writer.WriteLine("string refObjId = null;"); 4627Writer.WriteLine("if (isObject && isReferenced) Referenced(refObj); // need to mark this obj as ref'd since we didn't do GetTarget"); 4628Writer.Indent--; 4629Writer.WriteLine("}"); 4633Writer.Write("if (Reader.GetAttribute(\"root\", \""); 4634Writer.Write(Soap.Encoding); 4635Writer.WriteLine("\") == \"0\") {"); 4636Writer.Indent++; 4637Writer.WriteLine(source); 4638Writer.Indent--; 4639Writer.WriteLine("}"); 4647Writer.Write(useReflection ? "object" : fullTypeName); 4648Writer.Write(" "); 4649Writer.Write(local); 4650Writer.WriteLine(";"); 4653Writer.WriteLine("try {"); 4654Writer.Indent++; 4656Writer.Write(local); 4657Writer.Write(" = "); 4658Writer.Write(RaCodeGen.GetStringForCreateInstance(fullTypeName, useReflection, mapping.TypeDesc.CannotNew, true)); 4659Writer.WriteLine(";"); 4662Writer.Indent++; 4663Writer.Write("throw CreateInaccessibleConstructorException("); 4665Writer.WriteLine(");"); 4668Writer.Indent++; 4670Writer.Write("throw CreateCtorHasSecurityException("); 4672Writer.WriteLine(");"); 4674Writer.Indent--; 4675Writer.WriteLine("}"); 4680Writer.Indent--; 4681Writer.WriteLine("}"); 4682Writer.Write("catch ("); 4683Writer.Write(exceptionType.FullName); 4684Writer.WriteLine(") {"); 4689Writer.Indent++; 4690Writer.Write("throw CreateInvalidCastException("); 4691Writer.Write(RaCodeGen.GetStringForTypeof(typeDesc.CSharpName, typeDesc.UseReflection)); 4692Writer.Write(", "); 4693Writer.Write(source); 4695Writer.WriteLine(", null);"); 4697Writer.Write(", (string)"); 4698Writer.Write(id); 4699Writer.WriteLine(");"); 4701Writer.Indent--; 4702Writer.WriteLine("}");
System\Xml\Serialization\XmlSerializationWriter.cs (710)
1310Writer.Write(Access); 1311Writer.Write(" class "); 1312Writer.Write(ClassName); 1313Writer.Write(" : "); 1314Writer.Write(typeof(XmlSerializationWriter).FullName); 1315Writer.WriteLine(" {"); 1316Writer.Indent++; 1356Writer.Indent--; 1357Writer.WriteLine("}"); 1374Writer.WriteLine(); 1375Writer.WriteLine("protected override void InitCallbacks() {"); 1376Writer.Indent++; 1385Writer.Write("AddWriteCallback("); 1386Writer.Write(RaCodeGen.GetStringForTypeof(typeMapping.TypeDesc.CSharpName, typeMapping.TypeDesc.UseReflection)); 1387Writer.Write(", "); 1389Writer.Write(", "); 1391Writer.Write(", new "); 1392Writer.Write(typeof(XmlSerializationWriteCallback).FullName); 1393Writer.Write("(this."); 1394Writer.Write(methodName); 1395Writer.WriteLine("));"); 1399Writer.Indent--; 1400Writer.WriteLine("}"); 1407Writer.WriteLine(" {"); 1408Writer.Indent++; 1411Writer.Write(nullable ? ("WriteNullableQualifiedName" + suffix): "WriteElementQualifiedName"); 1412Writer.Write("("); 1415Writer.Write(", "); 1418Writer.Write(", "); 1419Writer.Write(source); 1422Writer.Write(", new System.Xml.XmlQualifiedName("); 1424Writer.Write(", "); 1426Writer.Write(")"); 1429Writer.WriteLine(");"); 1432Writer.Indent--; 1433Writer.WriteLine("}"); 1445Writer.Write(methodName); 1446Writer.Write("("); 1447Writer.Write(source); 1448Writer.Write(")"); 1453Writer.Write(source); 1457Writer.Write(typeof(XmlConvert).FullName); 1458Writer.Write(".ToString(("); 1459Writer.Write(typeDesc.CSharpName); 1460Writer.Write(")"); 1461Writer.Write(source); 1462Writer.Write(")"); 1465Writer.Write("From"); 1466Writer.Write(typeDesc.FormatterName); 1467Writer.Write("("); 1468Writer.Write(source); 1469Writer.Write(")"); 1484Writer.Write("if ("); 1486Writer.Write(RaCodeGen.GetStringForEnumLongValue(source, mapping.TypeDesc.UseReflection)); 1488Writer.Write(source); 1489Writer.Write(" != "); 1491Writer.Write("("); 1497Writer.WriteLine(" | "); 1498Writer.Write(RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, values[i], mapping.TypeDesc.UseReflection)); 1500Writer.Write(")"); 1503Writer.Write(RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, (string)defaultValue, mapping.TypeDesc.UseReflection)); 1505Writer.Write(")"); 1510Writer.WriteLine(" {"); 1511Writer.Indent++; 1513Writer.Write(method); 1514Writer.Write("("); 1517Writer.Write(", "); 1520Writer.Write(", "); 1530Writer.Write(", new System.Xml.XmlQualifiedName("); 1532Writer.Write(", "); 1534Writer.Write(")"); 1537Writer.WriteLine(");"); 1540Writer.Indent--; 1541Writer.WriteLine("}"); 1546Writer.Write(methodName); 1547Writer.Write("("); 1549Writer.Write(", "); 1551Writer.Write("null"); 1556Writer.WriteLine(");"); 1560Writer.Write(methodName); 1561Writer.Write("("); 1563Writer.Write(", "); 1565Writer.Write("null"); 1570Writer.Write(", null, "); 1572Writer.Write("true"); 1574Writer.Write("false"); 1575Writer.WriteLine(");"); 1583Writer.WriteLine("WriteEndElement();"); 1586Writer.Write("WriteEndElement("); 1587Writer.Write(source); 1588Writer.WriteLine(");"); 1610Writer.WriteLine(); 1611Writer.Write("public void "); 1612Writer.Write(methodName); 1613Writer.WriteLine("(object[] p) {"); 1614Writer.Indent++; 1616Writer.WriteLine("WriteStartDocument();"); 1619Writer.WriteLine("TopLevelElement();"); 1625Writer.WriteLine("int pLength = p.Length;"); 1635Writer.Write("if (pLength > "); 1636Writer.Write(xmlnsMember.ToString(CultureInfo.InvariantCulture)); 1637Writer.WriteLine(") {"); 1638Writer.Indent++; 1640Writer.Indent--; 1641Writer.WriteLine("}"); 1663Writer.Write("if (pLength > "); 1664Writer.Write(i.ToString(CultureInfo.InvariantCulture)); 1665Writer.WriteLine(") {"); 1666Writer.Indent++; 1669Writer.Write("if (pLength <= "); 1670Writer.Write(specifiedPosition.ToString(CultureInfo.InvariantCulture)); 1671Writer.Write(" || "); 1672Writer.Write(specifiedSource); 1673Writer.WriteLine(") {"); 1674Writer.Indent++; 1680Writer.Indent--; 1681Writer.WriteLine("}"); 1684Writer.Indent--; 1685Writer.WriteLine("}"); 1711Writer.Write("if (pLength > "); 1712Writer.Write(i.ToString(CultureInfo.InvariantCulture)); 1713Writer.WriteLine(") {"); 1714Writer.Indent++; 1717Writer.Write("if (pLength <= "); 1718Writer.Write(specifiedPosition.ToString(CultureInfo.InvariantCulture)); 1719Writer.Write(" || "); 1720Writer.Write(specifiedSource); 1721Writer.WriteLine(") {"); 1722Writer.Indent++; 1746Writer.Write("WriteRpcResult("); 1748Writer.Write(", "); 1750Writer.WriteLine(");"); 1757Writer.Indent--; 1758Writer.WriteLine("}"); 1761Writer.Indent--; 1762Writer.WriteLine("}"); 1771Writer.Write("if (pLength > "); 1772Writer.Write(mapping.Members.Length.ToString(CultureInfo.InvariantCulture)); 1773Writer.WriteLine(") {"); 1774Writer.Indent++; 1778Writer.Indent--; 1779Writer.WriteLine("}"); 1781Writer.WriteLine("WriteReferencedElements();"); 1783Writer.Indent--; 1784Writer.WriteLine("}"); 1792Writer.WriteLine(); 1793Writer.Write("public void "); 1794Writer.Write(methodName); 1795Writer.WriteLine("(object o) {"); 1796Writer.Indent++; 1798Writer.WriteLine("WriteStartDocument();"); 1800Writer.WriteLine("if (o == null) {"); 1801Writer.Indent++; 1810Writer.WriteLine("return;"); 1811Writer.Indent--; 1812Writer.WriteLine("}"); 1815Writer.WriteLine("TopLevelElement();"); 1821Writer.WriteLine("WriteReferencedElements();"); 1823Writer.Indent--; 1824Writer.WriteLine("}"); 1834Writer.WriteLine(); 1837Writer.Write("void "); 1838Writer.Write(methodName); 1839Writer.WriteLine("(object e) {"); 1843Writer.Write("string "); 1844Writer.Write(methodName); 1845Writer.Write("("); 1846Writer.Write(mapping.TypeDesc.UseReflection? "object" : fullTypeName ); 1847Writer.WriteLine(" v) {"); 1849Writer.Indent++; 1850Writer.WriteLine("string s = null;"); 1856Writer.WriteLine("switch ("+RaCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)+" ){"); 1858Writer.WriteLine("switch (v) {"); 1859Writer.Indent++; 1864Writer.Write("s = "); 1866Writer.WriteLine("; break;"); 1873Writer.Write("default: s = FromEnum("); 1874Writer.Write(RaCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)); 1875Writer.Write(", new string[] {"); 1876Writer.Indent++; 1880Writer.WriteLine(", "); 1883Writer.Write("}, new "); 1884Writer.Write(typeof(long).FullName); 1885Writer.Write("[] {"); 1890Writer.WriteLine(", "); 1891Writer.Write("(long)"); 1893Writer.Write(c.Value.ToString(CultureInfo.InvariantCulture)); 1895Writer.Write(fullTypeName); 1896Writer.Write(".@"); 1898Writer.Write(c.Name); 1901Writer.Indent--; 1902Writer.Write("}, "); 1904Writer.WriteLine("); break;"); 1907Writer.Write("default: throw CreateInvalidEnumValueException("); 1908Writer.Write(RaCodeGen.GetStringForEnumLongValue("v", mapping.TypeDesc.UseReflection)); 1909Writer.Write(".ToString(System.Globalization.CultureInfo.InvariantCulture), "); 1911Writer.WriteLine(");"); 1913Writer.Indent--; 1914Writer.WriteLine("}"); 1917Writer.Write("WriteXsiType("); 1919Writer.Write(", "); 1921Writer.WriteLine(");"); 1922Writer.WriteLine("Writer.WriteString(s);"); 1925Writer.WriteLine("return s;"); 1927Writer.Indent--; 1928Writer.WriteLine("}"); 1934Writer.Write("else if ("); 1936Writer.WriteLine(") {"); 1937Writer.Indent++; 1946Writer.Write(methodName); 1947Writer.Write("(n, ns,"); 1948if(!derived.TypeDesc.UseReflection) Writer.Write("("+fullTypeName+")"); 1949Writer.Write("o"); 1951Writer.Write(", isNullable"); 1952Writer.Write(", true"); 1953Writer.WriteLine(");"); 1954Writer.WriteLine("return;"); 1955Writer.Indent--; 1956Writer.WriteLine("}"); 1968Writer.Write("else if ("); 1970Writer.WriteLine(") {"); 1971Writer.Indent++; 1979Writer.WriteLine("Writer.WriteStartElement(n, ns);"); 1980Writer.Write("WriteXsiType("); 1982Writer.Write(", "); 1984Writer.WriteLine(");"); 1985Writer.Write("Writer.WriteString("); 1986Writer.Write(methodName); 1987Writer.Write("("); 1988if (!mapping.TypeDesc.UseReflection) Writer.Write("("+fullTypeName+")"); 1989Writer.WriteLine("o));"); 1990Writer.WriteLine("Writer.WriteEndElement();"); 1991Writer.WriteLine("return;"); 1992Writer.Indent--; 1993Writer.WriteLine("}"); 1999Writer.Write("else if ("); 2004Writer.WriteLine(") {"); 2005Writer.Indent++; 2007Writer.WriteLine("Writer.WriteStartElement(n, ns);"); 2008Writer.Write("WriteXsiType("); 2010Writer.Write(", "); 2012Writer.WriteLine(");"); 2016Writer.WriteLine("Writer.WriteEndElement();"); 2017Writer.WriteLine("return;"); 2018Writer.Indent--; 2019Writer.WriteLine("}"); 2029Writer.WriteLine(); 2030Writer.Write("void "); 2031Writer.Write(methodName); 2036Writer.WriteLine("(object s) {"); 2037Writer.Indent++; 2041Writer.Write("(string n, string ns, "); 2042Writer.Write(mapping.TypeDesc.UseReflection ? "object" : fullTypeName); 2043Writer.Write(" o"); 2045Writer.Write(", bool isNullable"); 2046Writer.WriteLine(", bool needType) {"); 2047Writer.Indent++; 2049Writer.WriteLine("if ((object)o == null) {"); 2050Writer.Indent++; 2051Writer.WriteLine("if (isNullable) WriteNullTagLiteral(n, ns);"); 2052Writer.WriteLine("return;"); 2053Writer.Indent--; 2054Writer.WriteLine("}"); 2056Writer.WriteLine("if (!needType) {"); 2057Writer.Indent++; 2059Writer.Write(typeof(Type).FullName); 2060Writer.WriteLine(" t = o.GetType();"); 2061Writer.Write("if ("); 2063Writer.WriteLine(") {"); 2064Writer.WriteLine("}"); 2068Writer.WriteLine("else {"); 2070Writer.Indent++; 2072Writer.WriteLine("WriteTypedPrimitive(n, ns, o, true);"); 2073Writer.WriteLine("return;"); 2076Writer.WriteLine("throw CreateUnknownTypeException(o);"); 2078Writer.Indent--; 2079Writer.WriteLine("}"); 2080Writer.Indent--; 2081Writer.WriteLine("}"); 2086Writer.WriteLine("EscapeName = false;"); 2102Writer.Write("WriteStartElement(n, ns, o, false, "); 2104Writer.Write("null"); 2106Writer.Write(xmlnsSource); 2108Writer.WriteLine(");"); 2110Writer.Write("if (needType) WriteXsiType("); 2112Writer.Write(", "); 2114Writer.WriteLine(");"); 2125Writer.Write("if ("); 2128Writer.Write(methodInvoke); 2129Writer.WriteLine(") {"); 2130Writer.Indent++; 2133Writer.Write("if ("); 2136Writer.Write(memberGet); 2137Writer.WriteLine(") {"); 2138Writer.Indent++; 2143Writer.Indent--; 2144Writer.WriteLine("}"); 2147Writer.Indent--; 2148Writer.WriteLine("}"); 2161Writer.Write("if ("); 2164Writer.Write(methodInvoke); 2165Writer.WriteLine(") {"); 2166Writer.Indent++; 2169Writer.Write("if ("); 2172Writer.Write(memberGet); 2173Writer.WriteLine(") {"); 2174Writer.Indent++; 2185Writer.Indent--; 2186Writer.WriteLine("}"); 2189Writer.Indent--; 2190Writer.WriteLine("}"); 2197Writer.Indent--; 2198Writer.WriteLine("}"); 2213Writer.WriteLine("{"); 2214Writer.Indent++; 2218Writer.WriteLine("if (a != null) {"); 2219Writer.Indent++; 2223Writer.Write("Writer.WriteStartAttribute(null, "); 2225Writer.Write(", "); 2231Writer.Write("null"); 2233Writer.WriteLine(");"); 2236Writer.Write(typeof(StringBuilder).FullName); 2237Writer.Write(" sb = new "); 2238Writer.Write(typeof(StringBuilder).FullName); 2239Writer.WriteLine("();"); 2245Writer.Write(" e = "); 2246Writer.Write(typeof(IEnumerator).FullName); 2248Writer.Write("(("); 2249Writer.Write(typeof(IEnumerable).FullName); 2250Writer.WriteLine(").GetEnumerator();"); 2255Writer.Write("("); 2256Writer.Write(typeof(IEnumerator).FullName); 2257Writer.Write(")"); 2258Writer.Write(RaCodeGen.GetReflectionVariable(memberTypeDesc.CSharpName, "System.Collections.Generic.IEnumerable*")); 2259Writer.WriteLine(".Invoke(a, new object[0]);"); 2262Writer.Write("((System.Collections.Generic.IEnumerable<"); 2263Writer.Write(arrayElementTypeDesc.CSharpName); 2264Writer.WriteLine(">)a).GetEnumerator();"); 2269Writer.Write("("); 2270Writer.Write(typeof(IEnumerator).FullName); 2271Writer.Write(")"); 2273Writer.Write(RaCodeGen.GetStringForMethodInvoke("a", memberTypeDesc.CSharpName, "GetEnumerator", memberTypeDesc.UseReflection)); 2274Writer.WriteLine(";"); 2276Writer.WriteLine("if (e != null)"); 2277Writer.WriteLine("while (e.MoveNext()) {"); 2278Writer.Indent++; 2284Writer.Write("for (int i = 0; i < "); 2286Writer.WriteLine("a.Length; i++) {"); 2289Writer.Write("(("); 2290Writer.Write(typeof(ICollection).FullName); 2291Writer.WriteLine(")a).Count; i++) {"); 2293Writer.Indent++; 2300Writer.WriteLine("if (i != 0) Writer.WriteString(\" \");"); 2301Writer.Write("WriteValue("); 2304Writer.WriteLine("if (i != 0) sb.Append(\" \");"); 2305Writer.Write("sb.Append("); 2311Writer.WriteLine(");"); 2316Writer.Indent--; 2317Writer.WriteLine("}"); 2321Writer.WriteLine("Writer.WriteEndAttribute();"); 2324Writer.WriteLine("if (sb.Length != 0) {"); 2325Writer.Indent++; 2327Writer.Write("WriteAttribute("); 2329Writer.Write(", "); 2333Writer.Write(", "); 2335Writer.WriteLine("sb.ToString());"); 2336Writer.Indent--; 2337Writer.WriteLine("}"); 2342Writer.Indent--; 2343Writer.WriteLine("}"); 2345Writer.Indent--; 2346Writer.WriteLine("}"); 2357Writer.Write("WriteXmlAttribute("); 2358Writer.Write(source); 2359Writer.Write(", "); 2360Writer.Write(parent); 2361Writer.WriteLine(");"); 2384Writer.WriteLine("{"); 2385Writer.Indent++; 2389Writer.WriteLine("if (a != null) {"); 2390Writer.Indent++; 2398Writer.WriteLine("if (c == null || c.Length < a.Length) {"); 2399Writer.Indent++; 2400Writer.Write("throw CreateInvalidChoiceIdentifierValueException("); 2402Writer.Write(", "); 2404Writer.Write(");"); 2405Writer.Indent--; 2406Writer.WriteLine("}"); 2411Writer.Indent--; 2412Writer.WriteLine("}"); 2414Writer.Indent--; 2415Writer.WriteLine("}"); 2422Writer.Write(typeof(IEnumerator).FullName); 2423Writer.Write(" e = "); 2425Writer.Write("(("); 2426Writer.Write(typeof(IEnumerable).FullName); 2427Writer.Write(")"); 2428Writer.Write(arrayName); 2429Writer.WriteLine(").GetEnumerator();"); 2434Writer.Write("("); 2435Writer.Write(typeof(IEnumerator).FullName); 2436Writer.Write(")"); 2437Writer.Write(RaCodeGen.GetReflectionVariable(arrayTypeDesc.CSharpName, "System.Collections.Generic.IEnumerable*")); 2438Writer.Write(".Invoke("); 2439Writer.Write(arrayName); 2440Writer.WriteLine(", new object[0]);"); 2443Writer.Write("((System.Collections.Generic.IEnumerable<"); 2444Writer.Write(arrayElementTypeDesc.CSharpName); 2445Writer.Write(">)"); 2446Writer.Write(arrayName); 2447Writer.WriteLine(").GetEnumerator();"); 2452Writer.Write("("); 2453Writer.Write(typeof(IEnumerator).FullName); 2454Writer.Write(")"); 2456Writer.Write(RaCodeGen.GetStringForMethodInvoke(arrayName, arrayTypeDesc.CSharpName, "GetEnumerator", arrayTypeDesc.UseReflection)); 2457Writer.WriteLine(";"); 2459Writer.WriteLine("if (e != null)"); 2460Writer.WriteLine("while (e.MoveNext()) {"); 2461Writer.Indent++; 2467Writer.Write("for (int i"); 2468Writer.Write(arrayName); 2469Writer.Write(" = 0; i"); 2470Writer.Write(arrayName); 2471Writer.Write(" < "); 2473Writer.Write(arrayName); 2474Writer.Write(".Length"); 2477Writer.Write("(("); 2478Writer.Write(typeof(ICollection).FullName); 2479Writer.Write(")"); 2480Writer.Write(arrayName); 2481Writer.Write(").Count"); 2483Writer.Write("; i"); 2484Writer.Write(arrayName); 2485Writer.WriteLine("++) {"); 2486Writer.Indent++; 2501Writer.Indent--; 2502Writer.WriteLine("}"); 2519Writer.Write("if ((object)("); 2520Writer.Write(source); 2521Writer.Write(") != null)"); 2523Writer.WriteLine("{"); 2524Writer.Indent++; 2547if (wroteFirstIf) Writer.Write("else "); 2549Writer.Write("if ("); 2550Writer.Write(enumUseReflection?RaCodeGen.GetStringForEnumLongValue(enumSource, enumUseReflection):enumSource); 2551Writer.Write(" == "); 2552Writer.Write(enumFullName); 2554Writer.Write(" && ((object)("); 2555Writer.Write(source); 2556Writer.Write(") != null)"); 2558Writer.WriteLine(") {"); 2559Writer.Indent++; 2567Writer.Indent--; 2568Writer.WriteLine("}"); 2574if (wroteFirstIf) Writer.Write("else "); 2576Writer.Write("if ("); 2578Writer.WriteLine(") {"); 2579Writer.Indent++; 2584Writer.Indent--; 2585Writer.WriteLine("}"); 2589if (elements.Length - anyCount > 0) Writer.Write("else "); 2593Writer.Write("if ("); 2594Writer.Write(source); 2595Writer.Write(" is "); 2596Writer.Write(fullTypeName); 2597Writer.WriteLine(") {"); 2598Writer.Indent++; 2600Writer.Write(fullTypeName); 2601Writer.Write(" elem = ("); 2602Writer.Write(fullTypeName); 2603Writer.Write(")"); 2604Writer.Write(source); 2605Writer.WriteLine(";"); 2610if (c++ > 0) Writer.Write("else "); 2618Writer.Write("if ("); 2619Writer.Write(enumUseReflection?RaCodeGen.GetStringForEnumLongValue(enumSource, enumUseReflection):enumSource); 2620Writer.Write(" == "); 2621Writer.Write(enumFullName); 2623Writer.Write(" && ((object)("); 2624Writer.Write(source); 2625Writer.Write(") != null)"); 2627Writer.WriteLine(") {"); 2628Writer.Indent++; 2630Writer.Write("if (elem.Name == "); 2632Writer.Write(" && elem.NamespaceURI == "); 2634Writer.WriteLine(") {"); 2635Writer.Indent++; 2639Writer.Indent--; 2640Writer.WriteLine("}"); 2641Writer.WriteLine("else {"); 2642Writer.Indent++; 2644Writer.WriteLine("// throw Value '{0}' of the choice identifier '{1}' does not match element '{2}' from namespace '{3}'."); 2646Writer.Write("throw CreateChoiceIdentifierValueException("); 2648Writer.Write(", "); 2650Writer.WriteLine(", elem.Name, elem.NamespaceURI);"); 2651Writer.Indent--; 2652Writer.WriteLine("}"); 2654Writer.Indent--; 2655Writer.WriteLine("}"); 2658Writer.WriteLine("else {"); 2659Writer.Indent++; 2665Writer.WriteLine("throw CreateUnknownAnyElementException(elem.Name, elem.NamespaceURI);"); 2668Writer.Indent--; 2669Writer.WriteLine("}"); 2671Writer.Indent--; 2672Writer.WriteLine("}"); 2678Writer.Write("else "); 2679Writer.Write("if ("); 2681Writer.WriteLine(") {"); 2682Writer.Indent++; 2687Writer.Indent--; 2688Writer.WriteLine("}"); 2698Writer.Write("else "); 2701Writer.Write(" if ((object)("); 2702Writer.Write(source); 2703Writer.Write(") != null)"); 2706Writer.WriteLine("{"); 2707Writer.Indent++; 2709Writer.Write("throw CreateUnknownTypeException("); 2710Writer.Write(source); 2711Writer.WriteLine(");"); 2713Writer.Indent--; 2714Writer.WriteLine("}"); 2716Writer.Indent--; 2717Writer.WriteLine("}"); 2724Writer.Write("WriteValue("); 2731Writer.WriteLine(");"); 2737Writer.Write(source); 2738Writer.WriteLine(".WriteTo(Writer);"); 2750Writer.Write("if ("); 2751Writer.Write(source); 2752Writer.WriteLine(" != null) {"); 2753Writer.Indent++; 2761Writer.Indent--; 2762Writer.WriteLine("}"); 2764Writer.WriteLine("else {"); 2765Writer.Indent++; 2767Writer.Indent--; 2768Writer.WriteLine("}"); 2774Writer.Write("WritePotentiallyReferencingElement("); 2776Writer.Write(", "); 2778Writer.Write(", "); 2779Writer.Write(source); 2781Writer.Write(", "); 2782Writer.Write(RaCodeGen.GetStringForTypeof(mapping.TypeDesc.CSharpName, mapping.TypeDesc.UseReflection)); 2783Writer.Write(", true, "); 2786Writer.Write(", null, false, "); 2789Writer.WriteLine(");"); 2796Writer.WriteLine("{"); 2797Writer.Indent++; 2804Writer.Write("if ("); 2805Writer.Write(elementArrayName); 2806Writer.Write(" != null)"); 2808Writer.WriteLine("{"); 2809Writer.Indent++; 2812Writer.Write("for (int "); 2813Writer.Write(arrayIndex); 2814Writer.Write(" = 0; "); 2815Writer.Write(arrayIndex); 2816Writer.Write(" < "); 2819Writer.Write(elementArrayName); 2820Writer.Write(".Length"); 2823Writer.Write("(("); 2824Writer.Write(typeof(ICollection).FullName); 2825Writer.Write(")"); 2826Writer.Write(elementArrayName); 2827Writer.Write(").Count"); 2829Writer.Write("; "); 2830Writer.Write(arrayIndex); 2831Writer.WriteLine("++) {"); 2832Writer.Indent++; 2838Writer.Indent--; 2839Writer.WriteLine("}"); 2841Writer.Indent--; 2842Writer.WriteLine("}"); 2843Writer.Indent--; 2844Writer.WriteLine("}"); 2848Writer.WriteLine("{"); 2849Writer.Indent++; 2856Writer.Write("if ("); 2857Writer.Write(arrayName); 2858Writer.Write(" != null)"); 2860Writer.WriteLine("{"); 2861Writer.Indent++; 2866Writer.Indent--; 2867Writer.WriteLine("}"); 2868Writer.Indent--; 2869Writer.WriteLine("}"); 2875Writer.Write("Writer.WriteStartElement("); 2877Writer.Write(", "); 2879Writer.WriteLine(");"); 2880Writer.Write(methodName); 2881Writer.Write("("); 2882Writer.Write(source); 2883Writer.WriteLine(");"); 2905Writer.Write("WritePotentiallyReferencingElement("); 2907Writer.Write(", "); 2909Writer.Write(", "); 2910Writer.Write(source); 2912Writer.Write(", "); 2913Writer.Write(RaCodeGen.GetStringForTypeof(mapping.TypeDesc.CSharpName, mapping.TypeDesc.UseReflection)); 2914Writer.Write(", true, "); 2917Writer.Write(", null, false, "); 2928Writer.Write(methodName); 2929Writer.Write("("); 2931Writer.Write(", "); 2933Writer.Write("null"); 2937Writer.Write(", "); 2938Writer.Write(source); 2940Writer.Write(", "); 2943Writer.Write(", false"); 2945Writer.WriteLine(");"); 2959Writer.Write("if (("); 2960Writer.Write(source); 2961Writer.Write(") is "); 2962Writer.Write(typeof(XmlNode).FullName); 2963Writer.Write(" || "); 2964Writer.Write(source); 2965Writer.Write(" == null"); 2966Writer.WriteLine(") {"); 2967Writer.Indent++; 2971Writer.Indent--; 2972Writer.WriteLine("}"); 2973Writer.WriteLine("else {"); 2974Writer.Indent++; 2976Writer.Write("throw CreateInvalidAnyTypeException("); 2977Writer.Write(source); 2978Writer.WriteLine(");"); 2980Writer.Indent--; 2981Writer.WriteLine("}"); 2990Writer.Write(func); 2991Writer.Write("(("); 2992Writer.Write(cast.FullName); 2993Writer.Write(")"); 2994Writer.Write(source); 2995Writer.Write(", "); 2997Writer.Write(", "); 2999Writer.Write(", "); 3001Writer.Write(", "); 3003Writer.WriteLine(");"); 3007Writer.Write("if ("); 3011Writer.Write("("); 3012Writer.Write(source); 3014Writer.Write(" == null) || ("); 3016Writer.Write(" != null) && ("); 3017Writer.Write(source); 3018Writer.Write(".Length != 0)"); 3021Writer.Write(source); 3022Writer.Write(" != "); 3025Writer.Write(")"); 3030Writer.Write("if (((object)"); 3031Writer.Write(source); 3032Writer.Write(") != null && !("); 3034Writer.Write(")) throw CreateMismatchChoiceException("); 3036Writer.Write(", "); 3038Writer.Write(", "); 3040Writer.WriteLine(");"); 3044Writer.Write("if ((object)("); 3045Writer.Write(source); 3046Writer.WriteLine(") == null) {"); 3047Writer.Indent++; 3049Writer.Indent--; 3050Writer.WriteLine("}"); 3051Writer.WriteLine("else {"); 3052Writer.Indent++; 3057Writer.Write("null"); 3071Writer.Write('\''); 3074Writer.Write("\'"); 3076Writer.Write(ch); 3077Writer.Write('\''); 3081Writer.Write(((Int32)value).ToString(null, NumberFormatInfo.InvariantInfo)); 3084Writer.Write(((Double)value).ToString("R", NumberFormatInfo.InvariantInfo)); 3087Writer.Write((bool)value ? "true" : "false"); 3096Writer.Write("("); 3097Writer.Write(type.FullName); 3098Writer.Write(")"); 3099Writer.Write("("); 3100Writer.Write(Convert.ToString(value, NumberFormatInfo.InvariantInfo)); 3101Writer.Write(")"); 3104Writer.Write(((Single)value).ToString("R", NumberFormatInfo.InvariantInfo)); 3105Writer.Write("f"); 3108Writer.Write(((Decimal)value).ToString(null, NumberFormatInfo.InvariantInfo)); 3109Writer.Write("m"); 3112Writer.Write(" new "); 3113Writer.Write(type.FullName); 3114Writer.Write("("); 3115Writer.Write(((DateTime)value).Ticks.ToString(CultureInfo.InvariantCulture)); 3116Writer.Write(")"); 3120Writer.Write(((int)value).ToString(null, NumberFormatInfo.InvariantInfo)); 3123Writer.Write(" new "); 3124Writer.Write(type.FullName); 3125Writer.Write("("); 3126Writer.Write(((TimeSpan)value).Ticks.ToString(CultureInfo.InvariantCulture)); 3127Writer.Write(")"); 3138Writer.Write("WriteNamespaceDeclarations("); 3139Writer.Write(source); 3140Writer.WriteLine(");"); 3153Writer.Write("for (int i = "); 3154Writer.Write(loopStartSource); 3155Writer.Write("; i < "); 3156Writer.Write(loopEndSource); 3157Writer.WriteLine("; i++) {"); 3158Writer.Indent++; 3159Writer.WriteLine("if (p[i] != null) {"); 3160Writer.Indent++; 3161Writer.WriteLine("WritePotentiallyReferencingElement(null, null, p[i], p[i].GetType(), true, false);"); 3162Writer.Indent--; 3163Writer.WriteLine("}"); 3164Writer.Indent--; 3165Writer.WriteLine("}");