21        base.Writer.Write(
" class ");
 
   23        base.Writer.Write(
" : ");
 
   25        base.Writer.WriteLine(
" {");
 
 
   82        base.Writer.WriteLine(
"}");
 
 
  109        base.Writer.WriteLine();
 
  110        base.Writer.WriteLine(
"protected override void InitCallbacks() {");
 
  111        base.Writer.Indent++;
 
  120                    base.Writer.Write(
"AddWriteCallback(");
 
  122                    base.Writer.Write(
", ");
 
  124                    base.Writer.Write(
", ");
 
  126                    base.Writer.Write(
", new ");
 
  128                    base.Writer.Write(
"(this.");
 
  129                    base.Writer.Write(
s);
 
  130                    base.Writer.WriteLine(
"));");
 
  134        base.Writer.Indent--;
 
  135        base.Writer.WriteLine(
"}");
 
 
  145            base.Writer.WriteLine(
" {");
 
  146            base.Writer.Indent++;
 
  148        string text = (IsSoap ? 
"Encoded" : 
"Literal");
 
  149        base.Writer.Write(
nullable ? (
"WriteNullableQualifiedName" + 
text) : 
"WriteElementQualifiedName");
 
  150        base.Writer.Write(
"(");
 
  154            base.Writer.Write(
", ");
 
  157        base.Writer.Write(
", ");
 
  161            base.Writer.Write(
", new System.Xml.XmlQualifiedName(");
 
  163            base.Writer.Write(
", ");
 
  165            base.Writer.Write(
")");
 
  167        base.Writer.WriteLine(
");");
 
  170            base.Writer.Indent--;
 
  171            base.Writer.WriteLine(
"}");
 
 
  178        base.Writer.Write(
s);
 
  179        base.Writer.Write(
"(");
 
  181        base.Writer.Write(
")");
 
 
  190        else if (!
typeDesc.HasCustomFormatter)
 
  193            base.Writer.Write(
".ToString((");
 
  195            base.Writer.Write(
")");
 
  197            base.Writer.Write(
")");
 
  201            base.Writer.Write(
"From");
 
  203            base.Writer.Write(
"(");
 
  205            base.Writer.Write(
")");
 
 
  218                base.Writer.Write(
"if (");
 
  219                if (
mapping.TypeDesc.UseReflection)
 
  227                base.Writer.Write(
" != ");
 
  230                    base.Writer.Write(
"(");
 
  232                    for (
int i = 0; i < 
array.Length; i++)
 
  238                                base.Writer.WriteLine(
" | ");
 
  243                    base.Writer.Write(
")");
 
  249                base.Writer.Write(
")");
 
  255            base.Writer.WriteLine(
" {");
 
  256            base.Writer.Indent++;
 
  259        base.Writer.Write(
"(");
 
  263            base.Writer.Write(
", ");
 
  266        base.Writer.Write(
", ");
 
  277            base.Writer.Write(
", new System.Xml.XmlQualifiedName(");
 
  279            base.Writer.Write(
", ");
 
  281            base.Writer.Write(
")");
 
  283        base.Writer.WriteLine(
");");
 
  286            base.Writer.Indent--;
 
  287            base.Writer.WriteLine(
"}");
 
 
  294        base.Writer.Write(
"(");
 
  296        base.Writer.Write(
", ");
 
  299            base.Writer.Write(
"null");
 
  305        base.Writer.WriteLine(
");");
 
 
  311        base.Writer.Write(
"(");
 
  313        base.Writer.Write(
", ");
 
  316            base.Writer.Write(
"null");
 
  322        base.Writer.Write(
", null, ");
 
  325            base.Writer.Write(
"true");
 
  329            base.Writer.Write(
"false");
 
  331        base.Writer.WriteLine(
");");
 
 
  341        base.Writer.WriteLine(
"WriteEndElement();");
 
 
  346        base.Writer.Write(
"WriteEndElement(");
 
  348        base.Writer.WriteLine(
");");
 
 
  353        WriteTag(
"WriteNullTagEncoded", name, ns);
 
 
  358        WriteTag(
"WriteNullTagLiteral", name, ns);
 
 
  363        WriteTag(
"WriteEmptyTag", name, ns);
 
 
  375        base.Writer.WriteLine();
 
  376        base.Writer.Write(
"public void ");
 
  378        base.Writer.WriteLine(
"(object[] p) {");
 
  379        base.Writer.Indent++;
 
  380        base.Writer.WriteLine(
"WriteStartDocument();");
 
  383            base.Writer.WriteLine(
"TopLevelElement();");
 
  385        base.Writer.WriteLine(
"int pLength = p.Length;");
 
  392                string source = 
$"(({typeof(XmlSerializerNamespaces).FullName})p[{num}])";
 
  393                base.Writer.Write(
"if (pLength > ");
 
  395                base.Writer.WriteLine(
") {");
 
  396                base.Writer.Indent++;
 
  398                base.Writer.Indent--;
 
  399                base.Writer.WriteLine(
"}");
 
  419                            text3 = 
$"((bool) p[{j}])";
 
  425                base.Writer.Write(
"if (pLength > ");
 
  427                base.Writer.WriteLine(
") {");
 
  428                base.Writer.Indent++;
 
  431                    base.Writer.Write(
"if (pLength <= ");
 
  433                    base.Writer.Write(
" || ");
 
  435                    base.Writer.WriteLine(
") {");
 
  436                    base.Writer.Indent++;
 
  441                    base.Writer.Indent--;
 
  442                    base.Writer.WriteLine(
"}");
 
  444                base.Writer.Indent--;
 
  445                base.Writer.WriteLine(
"}");
 
  464                        text5 = 
$"((bool) p[{l}])";
 
  471            base.Writer.Write(
"if (pLength > ");
 
  473            base.Writer.WriteLine(
") {");
 
  474            base.Writer.Indent++;
 
  477                base.Writer.Write(
"if (pLength <= ");
 
  479                base.Writer.Write(
" || ");
 
  481                base.Writer.WriteLine(
") {");
 
  482                base.Writer.Indent++;
 
  492                        choiceSource = ((!
memberMapping2.ChoiceIdentifier.Mapping.TypeDesc.UseReflection) ? 
$"(({membersMapping.Members[m].TypeDesc.CSharpName})p[{m}])" : 
$"p[{m}]");
 
  499                base.Writer.Write(
"WriteRpcResult(");
 
  501                base.Writer.Write(
", ");
 
  503                base.Writer.WriteLine(
");");
 
  508                base.Writer.Indent--;
 
  509                base.Writer.WriteLine(
"}");
 
  511            base.Writer.Indent--;
 
  512            base.Writer.WriteLine(
"}");
 
  522                base.Writer.Write(
"if (pLength > ");
 
  524                base.Writer.WriteLine(
") {");
 
  525                base.Writer.Indent++;
 
  527                base.Writer.Indent--;
 
  528                base.Writer.WriteLine(
"}");
 
  530            base.Writer.WriteLine(
"WriteReferencedElements();");
 
  532        base.Writer.Indent--;
 
  533        base.Writer.WriteLine(
"}");
 
 
  543        base.Writer.WriteLine();
 
  544        base.Writer.Write(
"public void ");
 
  546        base.Writer.WriteLine(
"(object o) {");
 
  547        base.Writer.Indent++;
 
  548        base.Writer.WriteLine(
"WriteStartDocument();");
 
  549        base.Writer.WriteLine(
"if (o == null) {");
 
  550        base.Writer.Indent++;
 
  566        base.Writer.WriteLine(
"return;");
 
  567        base.Writer.Indent--;
 
  568        base.Writer.WriteLine(
"}");
 
  571            base.Writer.WriteLine(
"TopLevelElement();");
 
  576            base.Writer.WriteLine(
"WriteReferencedElements();");
 
  578        base.Writer.Indent--;
 
  579        base.Writer.WriteLine(
"}");
 
 
  591        base.Writer.WriteLine();
 
  595            base.Writer.Write(
"void ");
 
  596            base.Writer.Write(
s);
 
  597            base.Writer.WriteLine(
"(object e) {");
 
  602            base.Writer.Write(
"string ");
 
  603            base.Writer.Write(
s);
 
  604            base.Writer.Write(
"(");
 
  606            base.Writer.WriteLine(
" v) {");
 
  608        base.Writer.Indent++;
 
  609        base.Writer.WriteLine(
"string s = null;");
 
  614            if (
mapping.TypeDesc.UseReflection)
 
  616                base.Writer.WriteLine(
"switch (" + 
base.RaCodeGen.GetStringForEnumLongValue(
"v", 
mapping.TypeDesc.UseReflection) + 
" ){");
 
  620                base.Writer.WriteLine(
"switch (v) {");
 
  622            base.Writer.Indent++;
 
  628                    base.Writer.Write(
"s = ");
 
  630                    base.Writer.WriteLine(
"; break;");
 
  636                base.Writer.Write(
"default: s = FromEnum(");
 
  637                base.Writer.Write(
base.RaCodeGen.GetStringForEnumLongValue(
"v", 
mapping.TypeDesc.UseReflection));
 
  638                base.Writer.Write(
", new string[] {");
 
  639                base.Writer.Indent++;
 
  645                        base.Writer.WriteLine(
", ");
 
  649                base.Writer.Write(
"}, new ");
 
  651                base.Writer.Write(
"[] {");
 
  657                        base.Writer.WriteLine(
", ");
 
  659                    base.Writer.Write(
"(long)");
 
  660                    if (
mapping.TypeDesc.UseReflection)
 
  666                    base.Writer.Write(
".@");
 
  670                base.Writer.Indent--;
 
  671                base.Writer.Write(
"}, ");
 
  673                base.Writer.WriteLine(
"); break;");
 
  677                base.Writer.Write(
"default: throw CreateInvalidEnumValueException(");
 
  678                base.Writer.Write(
base.RaCodeGen.GetStringForEnumLongValue(
"v", 
mapping.TypeDesc.UseReflection));
 
  679                base.Writer.Write(
".ToString(System.Globalization.CultureInfo.InvariantCulture), ");
 
  681                base.Writer.WriteLine(
");");
 
  683            base.Writer.Indent--;
 
  684            base.Writer.WriteLine(
"}");
 
  688            base.Writer.Write(
"WriteXsiType(");
 
  690            base.Writer.Write(
", ");
 
  692            base.Writer.WriteLine(
");");
 
  693            base.Writer.WriteLine(
"Writer.WriteString(s);");
 
  697            base.Writer.WriteLine(
"return s;");
 
  699        base.Writer.Indent--;
 
  700        base.Writer.WriteLine(
"}");
 
 
  708            base.Writer.Write(
"if (");
 
  710            base.Writer.WriteLine(
") {");
 
  711            base.Writer.Indent++;
 
  713            base.Writer.Write(
s);
 
  714            base.Writer.Write(
"(n, ns,");
 
  719            base.Writer.Write(
"o");
 
  722                base.Writer.Write(
", isNullable");
 
  724            base.Writer.Write(
", true");
 
  725            base.Writer.WriteLine(
");");
 
  726            base.Writer.WriteLine(
"return;");
 
  727            base.Writer.Indent--;
 
  728            base.Writer.WriteLine(
"}");
 
 
  745                    base.Writer.Write(
"if (");
 
  747                    base.Writer.WriteLine(
") {");
 
  748                    base.Writer.Indent++;
 
  750                    base.Writer.WriteLine(
"Writer.WriteStartElement(n, ns);");
 
  751                    base.Writer.Write(
"WriteXsiType(");
 
  753                    base.Writer.Write(
", ");
 
  755                    base.Writer.WriteLine(
");");
 
  756                    base.Writer.Write(
"Writer.WriteString(");
 
  757                    base.Writer.Write(
s);
 
  758                    base.Writer.Write(
"(");
 
  763                    base.Writer.WriteLine(
"o));");
 
  764                    base.Writer.WriteLine(
"Writer.WriteEndElement();");
 
  765                    base.Writer.WriteLine(
"return;");
 
  766                    base.Writer.Indent--;
 
  767                    base.Writer.WriteLine(
"}");
 
  772                    base.Writer.Write(
"if (");
 
  781                    base.Writer.WriteLine(
") {");
 
  782                    base.Writer.Indent++;
 
  783                    base.Writer.WriteLine(
"Writer.WriteStartElement(n, ns);");
 
  784                    base.Writer.Write(
"WriteXsiType(");
 
  786                    base.Writer.Write(
", ");
 
  788                    base.Writer.WriteLine(
");");
 
  790                    base.Writer.WriteLine(
"Writer.WriteEndElement();");
 
  791                    base.Writer.WriteLine(
"return;");
 
  792                    base.Writer.Indent--;
 
  793                    base.Writer.WriteLine(
"}");
 
 
  807        base.Writer.WriteLine();
 
  808        base.Writer.Write(
"void ");
 
  809        base.Writer.Write(
s);
 
  813            base.Writer.WriteLine(
"(object s) {");
 
  814            base.Writer.Indent++;
 
  819            base.Writer.Write(
"(string n, string ns, ");
 
  821            base.Writer.Write(
" o");
 
  822            if (
mapping.TypeDesc.IsNullable)
 
  824                base.Writer.Write(
", bool isNullable");
 
  826            base.Writer.WriteLine(
", bool needType) {");
 
  827            base.Writer.Indent++;
 
  828            if (
mapping.TypeDesc.IsNullable)
 
  830                base.Writer.WriteLine(
"if ((object)o == null) {");
 
  831                base.Writer.Indent++;
 
  832                base.Writer.WriteLine(
"if (isNullable) WriteNullTagLiteral(n, ns);");
 
  833                base.Writer.WriteLine(
"return;");
 
  834                base.Writer.Indent--;
 
  835                base.Writer.WriteLine(
"}");
 
  837            base.Writer.WriteLine(
"if (!needType) {");
 
  838            base.Writer.Indent++;
 
  840            base.Writer.WriteLine(
" t = o.GetType();");
 
  841            base.Writer.Write(
"if (");
 
  843            base.Writer.WriteLine(
") {");
 
  844            base.Writer.WriteLine(
"}");
 
  845            base.Writer.WriteLine(
"else {");
 
  846            base.Writer.Indent++;
 
  854                base.Writer.WriteLine(
"WriteTypedPrimitive(n, ns, o, true);");
 
  855                base.Writer.WriteLine(
"return;");
 
  859                base.Writer.WriteLine(
"throw CreateUnknownTypeException(o);");
 
  861            base.Writer.Indent--;
 
  862            base.Writer.WriteLine(
"}");
 
  863            base.Writer.Indent--;
 
  864            base.Writer.WriteLine(
"}");
 
  866        if (!
mapping.TypeDesc.IsAbstract)
 
  870                base.Writer.WriteLine(
"EscapeName = false;");
 
  880                if (
mapping.TypeDesc.UseReflection)
 
  887                base.Writer.Write(
"WriteStartElement(n, ns, o, false, ");
 
  890                    base.Writer.Write(
"null");
 
  896                base.Writer.WriteLine(
");");
 
  899                    base.Writer.Write(
"if (needType) WriteXsiType(");
 
  901                    base.Writer.Write(
", ");
 
  903                    base.Writer.WriteLine(
");");
 
  906            else if (
text != 
null)
 
  919                    base.Writer.Write(
"if (");
 
  921                    if (
mapping.TypeDesc.UseReflection)
 
  926                    base.Writer.WriteLine(
") {");
 
  927                    base.Writer.Indent++;
 
  931                    base.Writer.Write(
"if (");
 
  933                    if (
mapping.TypeDesc.UseReflection)
 
  938                    base.Writer.WriteLine(
") {");
 
  939                    base.Writer.Indent++;
 
  944                    base.Writer.Indent--;
 
  945                    base.Writer.WriteLine(
"}");
 
  949                    base.Writer.Indent--;
 
  950                    base.Writer.WriteLine(
"}");
 
  963                    base.Writer.Write(
"if (");
 
  965                    if (
mapping.TypeDesc.UseReflection)
 
  970                    base.Writer.WriteLine(
") {");
 
  971                    base.Writer.Indent++;
 
  975                    base.Writer.Write(
"if (");
 
  977                    if (
mapping.TypeDesc.UseReflection)
 
  982                    base.Writer.WriteLine(
") {");
 
  983                    base.Writer.Indent++;
 
  994                    base.Writer.Indent--;
 
  995                    base.Writer.WriteLine(
"}");
 
  999                    base.Writer.Indent--;
 
 1000                    base.Writer.WriteLine(
"}");
 
 1008        base.Writer.Indent--;
 
 1009        base.Writer.WriteLine(
"}");
 
 
 1030            base.Writer.WriteLine(
"{");
 
 1031            base.Writer.Indent++;
 
 1036                base.Writer.WriteLine(
"if (a != null) {");
 
 1037                base.Writer.Indent++;
 
 1043                    base.Writer.Write(
"Writer.WriteStartAttribute(null, ");
 
 1045                    base.Writer.Write(
", ");
 
 1053                        base.Writer.Write(
"null");
 
 1055                    base.Writer.WriteLine(
");");
 
 1060                    base.Writer.Write(
" sb = new ");
 
 1062                    base.Writer.WriteLine(
"();");
 
 1068                base.Writer.Write(
" e = ");
 
 1072                    base.Writer.Write(
"((");
 
 1074                    base.Writer.WriteLine(
").GetEnumerator();");
 
 1080                        base.Writer.Write(
"(");
 
 1082                        base.Writer.Write(
")");
 
 1083                        base.Writer.Write(
base.RaCodeGen.GetReflectionVariable(
memberTypeDesc.CSharpName, 
"System.Collections.Generic.IEnumerable*"));
 
 1084                        base.Writer.WriteLine(
".Invoke(a, new object[0]);");
 
 1088                        base.Writer.Write(
"((System.Collections.Generic.IEnumerable<");
 
 1090                        base.Writer.WriteLine(
">)a).GetEnumerator();");
 
 1097                        base.Writer.Write(
"(");
 
 1099                        base.Writer.Write(
")");
 
 1102                    base.Writer.WriteLine(
";");
 
 1104                base.Writer.WriteLine(
"if (e != null)");
 
 1105                base.Writer.WriteLine(
"while (e.MoveNext()) {");
 
 1106                base.Writer.Indent++;
 
 1112                base.Writer.Write(
"for (int i = 0; i < ");
 
 1115                    base.Writer.WriteLine(
"a.Length; i++) {");
 
 1119                    base.Writer.Write(
"((");
 
 1121                    base.Writer.WriteLine(
")a).Count; i++) {");
 
 1123                base.Writer.Indent++;
 
 1131                    base.Writer.WriteLine(
"if (i != 0) Writer.WriteString(\" \");");
 
 1132                    base.Writer.Write(
"WriteValue(");
 
 1136                    base.Writer.WriteLine(
"if (i != 0) sb.Append(\" \");");
 
 1137                    base.Writer.Write(
"sb.Append(");
 
 1147                base.Writer.WriteLine(
");");
 
 1153            base.Writer.Indent--;
 
 1154            base.Writer.WriteLine(
"}");
 
 1159                    base.Writer.WriteLine(
"Writer.WriteEndAttribute();");
 
 1163                    base.Writer.WriteLine(
"if (sb.Length != 0) {");
 
 1164                    base.Writer.Indent++;
 
 1165                    base.Writer.Write(
"WriteAttribute(");
 
 1167                    base.Writer.Write(
", ");
 
 1172                        base.Writer.Write(
", ");
 
 1174                    base.Writer.WriteLine(
"sb.ToString());");
 
 1175                    base.Writer.Indent--;
 
 1176                    base.Writer.WriteLine(
"}");
 
 1181                base.Writer.Indent--;
 
 1182                base.Writer.WriteLine(
"}");
 
 1184            base.Writer.Indent--;
 
 1185            base.Writer.WriteLine(
"}");
 
 
 1201                base.Writer.Write(
"WriteXmlAttribute(");
 
 1203                base.Writer.Write(
", ");
 
 1204                base.Writer.Write(parent);
 
 1205                base.Writer.WriteLine(
");");
 
 
 1234        if (elements.Length != 0 || 
text != 
null)
 
 1236            base.Writer.WriteLine(
"{");
 
 1237            base.Writer.Indent++;
 
 1242                base.Writer.WriteLine(
"if (a != null) {");
 
 1243                base.Writer.Indent++;
 
 1249                base.Writer.WriteLine(
"if (c == null || c.Length < a.Length) {");
 
 1250                base.Writer.Indent++;
 
 1251                base.Writer.Write(
"throw CreateInvalidChoiceIdentifierValueException(");
 
 1253                base.Writer.Write(
", ");
 
 1255                base.Writer.Write(
");");
 
 1256                base.Writer.Indent--;
 
 1257                base.Writer.WriteLine(
"}");
 
 1262                base.Writer.Indent--;
 
 1263                base.Writer.WriteLine(
"}");
 
 1265            base.Writer.Indent--;
 
 1266            base.Writer.WriteLine(
"}");
 
 
 1277            base.Writer.Write(
" e = ");
 
 1280                base.Writer.Write(
"((");
 
 1282                base.Writer.Write(
")");
 
 1284                base.Writer.WriteLine(
").GetEnumerator();");
 
 1290                    base.Writer.Write(
"(");
 
 1292                    base.Writer.Write(
")");
 
 1293                    base.Writer.Write(
base.RaCodeGen.GetReflectionVariable(
arrayTypeDesc.CSharpName, 
"System.Collections.Generic.IEnumerable*"));
 
 1294                    base.Writer.Write(
".Invoke(");
 
 1296                    base.Writer.WriteLine(
", new object[0]);");
 
 1300                    base.Writer.Write(
"((System.Collections.Generic.IEnumerable<");
 
 1302                    base.Writer.Write(
">)");
 
 1304                    base.Writer.WriteLine(
").GetEnumerator();");
 
 1311                    base.Writer.Write(
"(");
 
 1313                    base.Writer.Write(
")");
 
 1316                base.Writer.WriteLine(
";");
 
 1318            base.Writer.WriteLine(
"if (e != null)");
 
 1319            base.Writer.WriteLine(
"while (e.MoveNext()) {");
 
 1320            base.Writer.Indent++;
 
 1327            base.Writer.Write(
"for (int i");
 
 1329            base.Writer.Write(
" = 0; i");
 
 1331            base.Writer.Write(
" < ");
 
 1335                base.Writer.Write(
".Length");
 
 1339                base.Writer.Write(
"((");
 
 1341                base.Writer.Write(
")");
 
 1343                base.Writer.Write(
").Count");
 
 1345            base.Writer.Write(
"; i");
 
 1347            base.Writer.WriteLine(
"++) {");
 
 1348            base.Writer.Indent++;
 
 1366        base.Writer.Indent--;
 
 1367        base.Writer.WriteLine(
"}");
 
 
 1379        if (elements.Length == 0 && 
text == 
null)
 
 1383        if (elements.Length == 1 && 
text == 
null)
 
 1395            base.Writer.Write(
"if ((object)(");
 
 1397            base.Writer.Write(
") != null)");
 
 1399        base.Writer.WriteLine(
"{");
 
 1400        base.Writer.Indent++;
 
 1428                    base.Writer.Write(
"else ");
 
 1434                base.Writer.Write(
"if (");
 
 1436                base.Writer.Write(
" == ");
 
 1440                    base.Writer.Write(
" && ((object)(");
 
 1442                    base.Writer.Write(
") != null)");
 
 1444                base.Writer.WriteLine(
") {");
 
 1445                base.Writer.Indent++;
 
 1453                base.Writer.Indent--;
 
 1454                base.Writer.WriteLine(
"}");
 
 1463                    base.Writer.Write(
"else ");
 
 1469                base.Writer.Write(
"if (");
 
 1471                base.Writer.WriteLine(
") {");
 
 1472                base.Writer.Indent++;
 
 1479                base.Writer.Indent--;
 
 1480                base.Writer.WriteLine(
"}");
 
 1485            if (elements.Length - num > 0)
 
 1487                base.Writer.Write(
"else ");
 
 1490            base.Writer.Write(
"if (");
 
 1492            base.Writer.Write(
" is ");
 
 1494            base.Writer.WriteLine(
") {");
 
 1495            base.Writer.Indent++;
 
 1497            base.Writer.Write(
" elem = (");
 
 1499            base.Writer.Write(
")");
 
 1501            base.Writer.WriteLine(
";");
 
 1507                    base.Writer.Write(
"else ");
 
 1509                string text6 = 
null;
 
 1514                    base.Writer.Write(
"if (");
 
 1516                    base.Writer.Write(
" == ");
 
 1520                        base.Writer.Write(
" && ((object)(");
 
 1522                        base.Writer.Write(
") != null)");
 
 1524                    base.Writer.WriteLine(
") {");
 
 1525                    base.Writer.Indent++;
 
 1527                base.Writer.Write(
"if (elem.Name == ");
 
 1529                base.Writer.Write(
" && elem.NamespaceURI == ");
 
 1531                base.Writer.WriteLine(
") {");
 
 1532                base.Writer.Indent++;
 
 1536                    base.Writer.Indent--;
 
 1537                    base.Writer.WriteLine(
"}");
 
 1538                    base.Writer.WriteLine(
"else {");
 
 1539                    base.Writer.Indent++;
 
 1540                    base.Writer.WriteLine(
"// throw Value '{0}' of the choice identifier '{1}' does not match element '{2}' from namespace '{3}'.");
 
 1541                    base.Writer.Write(
"throw CreateChoiceIdentifierValueException(");
 
 1543                    base.Writer.Write(
", ");
 
 1545                    base.Writer.WriteLine(
", elem.Name, elem.NamespaceURI);");
 
 1546                    base.Writer.Indent--;
 
 1547                    base.Writer.WriteLine(
"}");
 
 1549                base.Writer.Indent--;
 
 1550                base.Writer.WriteLine(
"}");
 
 1554                base.Writer.WriteLine(
"else {");
 
 1555                base.Writer.Indent++;
 
 1563                base.Writer.WriteLine(
"throw CreateUnknownAnyElementException(elem.Name, elem.NamespaceURI);");
 
 1567                base.Writer.Indent--;
 
 1568                base.Writer.WriteLine(
"}");
 
 1570            base.Writer.Indent--;
 
 1571            base.Writer.WriteLine(
"}");
 
 1577            if (elements.Length != 0)
 
 1579                base.Writer.Write(
"else ");
 
 1580                base.Writer.Write(
"if (");
 
 1582                base.Writer.WriteLine(
") {");
 
 1583                base.Writer.Indent++;
 
 1590                base.Writer.Indent--;
 
 1591                base.Writer.WriteLine(
"}");
 
 1603        if (elements.Length != 0)
 
 1605            base.Writer.Write(
"else ");
 
 1608                base.Writer.Write(
" if ((object)(");
 
 1610                base.Writer.Write(
") != null)");
 
 1612            base.Writer.WriteLine(
"{");
 
 1613            base.Writer.Indent++;
 
 1614            base.Writer.Write(
"throw CreateUnknownTypeException(");
 
 1616            base.Writer.WriteLine(
");");
 
 1617            base.Writer.Indent--;
 
 1618            base.Writer.WriteLine(
"}");
 
 1620        base.Writer.Indent--;
 
 1621        base.Writer.WriteLine(
"}");
 
 
 1629            base.Writer.Write(
"WriteValue(");
 
 1638            base.Writer.WriteLine(
");");
 
 1649            base.Writer.WriteLine(
".WriteTo(Writer);");
 
 
 1660            base.Writer.Write(
"if (");
 
 1662            base.Writer.WriteLine(
" != null) {");
 
 1663            base.Writer.Indent++;
 
 1673            base.Writer.Indent--;
 
 1674            base.Writer.WriteLine(
"}");
 
 1677                base.Writer.WriteLine(
"else {");
 
 1678                base.Writer.Indent++;
 
 1680                base.Writer.Indent--;
 
 1681                base.Writer.WriteLine(
"}");
 
 1689                base.Writer.Write(
"WritePotentiallyReferencingElement(");
 
 1691                base.Writer.Write(
", ");
 
 1693                base.Writer.Write(
", ");
 
 1697                    base.Writer.Write(
", ");
 
 1699                    base.Writer.Write(
", true, ");
 
 1703                    base.Writer.Write(
", null, false, ");
 
 1706                base.Writer.WriteLine(
");");
 
 1715                base.Writer.WriteLine(
"{");
 
 1716                base.Writer.Indent++;
 
 1726                        base.Writer.Write(
"if (");
 
 1728                        base.Writer.Write(
" != null)");
 
 1730                    base.Writer.WriteLine(
"{");
 
 1731                    base.Writer.Indent++;
 
 1733                base.Writer.Write(
"for (int ");
 
 1735                base.Writer.Write(
" = 0; ");
 
 1737                base.Writer.Write(
" < ");
 
 1741                    base.Writer.Write(
".Length");
 
 1745                    base.Writer.Write(
"((");
 
 1747                    base.Writer.Write(
")");
 
 1749                    base.Writer.Write(
").Count");
 
 1751                base.Writer.Write(
"; ");
 
 1753                base.Writer.WriteLine(
"++) {");
 
 1754                base.Writer.Indent++;
 
 1758                base.Writer.Indent--;
 
 1759                base.Writer.WriteLine(
"}");
 
 1760                base.Writer.Indent--;
 
 1761                base.Writer.WriteLine(
"}");
 
 1762                base.Writer.Indent--;
 
 1763                base.Writer.WriteLine(
"}");
 
 1767            base.Writer.WriteLine(
"{");
 
 1768            base.Writer.Indent++;
 
 1778                    base.Writer.Write(
"if (");
 
 1780                    base.Writer.Write(
" != null)");
 
 1782                base.Writer.WriteLine(
"{");
 
 1783                base.Writer.Indent++;
 
 1788            base.Writer.Indent--;
 
 1789            base.Writer.WriteLine(
"}");
 
 1790            base.Writer.Indent--;
 
 1791            base.Writer.WriteLine(
"}");
 
 1798                base.Writer.Write(
"Writer.WriteStartElement(");
 
 1800                base.Writer.Write(
", ");
 
 1802                base.Writer.WriteLine(
");");
 
 1803                base.Writer.Write(
s);
 
 1804                base.Writer.Write(
"(");
 
 1806                base.Writer.WriteLine(
");");
 
 1831                base.Writer.Write(
"WritePotentiallyReferencingElement(");
 
 1833                base.Writer.Write(
", ");
 
 1835                base.Writer.Write(
", ");
 
 1839                    base.Writer.Write(
", ");
 
 1841                    base.Writer.Write(
", true, ");
 
 1845                    base.Writer.Write(
", null, false, ");
 
 1853                base.Writer.Write(
"(");
 
 1855                base.Writer.Write(
", ");
 
 1858                    base.Writer.Write(
"null");
 
 1864                base.Writer.Write(
", ");
 
 1868                    base.Writer.Write(
", ");
 
 1871                base.Writer.Write(
", false");
 
 1873            base.Writer.WriteLine(
");");
 
 1886            base.Writer.Write(
"if ((");
 
 1888            base.Writer.Write(
") is ");
 
 1890            base.Writer.Write(
" || ");
 
 1892            base.Writer.Write(
" == null");
 
 1893            base.Writer.WriteLine(
") {");
 
 1894            base.Writer.Indent++;
 
 1896            base.Writer.Indent--;
 
 1897            base.Writer.WriteLine(
"}");
 
 1898            base.Writer.WriteLine(
"else {");
 
 1899            base.Writer.Indent++;
 
 1900            base.Writer.Write(
"throw CreateInvalidAnyTypeException(");
 
 1902            base.Writer.WriteLine(
");");
 
 1903            base.Writer.Indent--;
 
 1904            base.Writer.WriteLine(
"}");
 
 
 1910        base.Writer.Write(func);
 
 1911        base.Writer.Write(
"((");
 
 1913        base.Writer.Write(
")");
 
 1915        base.Writer.Write(
", ");
 
 1917        base.Writer.Write(
", ");
 
 1919        base.Writer.Write(
", ");
 
 1921        base.Writer.Write(
", ");
 
 1923        base.Writer.WriteLine(
");");
 
 
 1929        base.Writer.Write(
"if (");
 
 1932            base.Writer.Write(
"(");
 
 1936                base.Writer.Write(
" == null) || (");
 
 1940                base.Writer.Write(
" != null) && (");
 
 1943            base.Writer.Write(
".Length != 0)");
 
 1947            base.Writer.Write(
"!");
 
 1949            base.Writer.Write(
".Equals(");
 
 1952            base.Writer.Write(
")");
 
 1957            base.Writer.Write(
" != ");
 
 1961        base.Writer.Write(
")");
 
 
 1966        base.Writer.Write(
"if (((object)");
 
 1968        base.Writer.Write(
") != null && !(");
 
 1970        base.Writer.Write(
")) throw CreateMismatchChoiceException(");
 
 1972        base.Writer.Write(
", ");
 
 1974        base.Writer.Write(
", ");
 
 1976        base.Writer.WriteLine(
");");
 
 
 1981        base.Writer.Write(
"if ((object)(");
 
 1983        base.Writer.WriteLine(
") == null) {");
 
 1984        base.Writer.Indent++;
 
 1986        base.Writer.Indent--;
 
 1987        base.Writer.WriteLine(
"}");
 
 1988        base.Writer.WriteLine(
"else {");
 
 1989        base.Writer.Indent++;
 
 
 1996            base.Writer.Write(
"null");
 
 2007            base.Writer.Write(
'\'');
 
 2008            char c = (char)
value;
 
 2011                base.Writer.Write(
"'");
 
 2015                base.Writer.Write(c);
 
 2017            base.Writer.Write(
'\'');
 
 2025            if (
double.IsNaN((
double)
value))
 
 2027                base.Writer.Write(
"System.Double.NaN");
 
 2029            else if (
double.IsPositiveInfinity((
double)
value))
 
 2031                base.Writer.Write(
"System.Double.PositiveInfinity");
 
 2033            else if (
double.IsNegativeInfinity((
double)
value))
 
 2035                base.Writer.Write(
"System.Double.NegativeInfinity");
 
 2044            base.Writer.Write(((
bool)
value) ? 
"true" : 
"false");
 
 2048            base.Writer.Write(
"(");
 
 2050            base.Writer.Write(
")");
 
 2051            base.Writer.Write(
"(");
 
 2053            base.Writer.Write(
")");
 
 2057            if (
float.IsNaN((
float)
value))
 
 2059                base.Writer.Write(
"System.Single.NaN");
 
 2062            if (
float.IsPositiveInfinity((
float)
value))
 
 2064                base.Writer.Write(
"System.Single.PositiveInfinity");
 
 2067            if (
float.IsNegativeInfinity((
float)
value))
 
 2069                base.Writer.Write(
"System.Single.NegativeInfinity");
 
 2073            base.Writer.Write(
"f");
 
 2078            base.Writer.Write(
"m");
 
 2082            base.Writer.Write(
" new ");
 
 2084            base.Writer.Write(
"(");
 
 2086            base.Writer.Write(
")");
 
 2090            base.Writer.Write(
" new ");
 
 2092            base.Writer.Write(
"(");
 
 2094            base.Writer.Write(
", new ");
 
 2096            base.Writer.Write(
"(");
 
 2098            base.Writer.Write(
"))");
 
 2102            base.Writer.Write(
" new ");
 
 2104            base.Writer.Write(
"(");
 
 2106            base.Writer.Write(
")");
 
 
 2120        base.Writer.Write(
"WriteNamespaceDeclarations(");
 
 2122        base.Writer.WriteLine(
");");
 
 
 2127        for (
int i = 0; i < 
members.Length; i++)
 
 
 2139        base.Writer.Write(
"for (int i = ");
 
 2141        base.Writer.Write(
"; i < ");
 
 2143        base.Writer.WriteLine(
"; i++) {");
 
 2144        base.Writer.Indent++;
 
 2145        base.Writer.WriteLine(
"if (p[i] != null) {");
 
 2146        base.Writer.Indent++;
 
 2147        base.Writer.WriteLine(
"WritePotentiallyReferencingElement(null, null, p[i], p[i].GetType(), true, false);");
 
 2148        base.Writer.Indent--;
 
 2149        base.Writer.WriteLine(
"}");
 
 2150        base.Writer.Indent--;
 
 2151        base.Writer.WriteLine(
"}");
 
 
 2190            if (element.
Any && element.
Name.Length == 0)
 
 2199            int num = 
xmlName.LastIndexOf(
':');
 
 2208        if (
text == 
null || 
text.Length == 0)
 
 2210            if (element.
Any && element.
Name.Length == 0)
 
 
 
static ? string ToString(object? value)
 
static ? object ChangeType(object? value, TypeCode typeCode)
 
static readonly DBNull Value
 
static CultureInfo InvariantCulture
 
static string XmlInternalError
 
static string XmlChoiceMissingAnyValue
 
static string Format(string resourceFormat, object p1)
 
static string XmlUnsupportedDefaultType
 
static string XmlChoiceMissingValue
 
static ? Type GetType(string typeName, bool throwOnError, bool ignoreCase)
 
static void CheckValidIdentifier([NotNull] string ident)
 
static string MakeValidInternal(string identifier)
 
StructMapping DerivedMappings
 
TypeDesc(string name, string fullName, XmlSchemaType dataType, TypeKind kind, TypeDesc baseTypeDesc, TypeFlags flags, string formatterName)
 
TypeDesc CreateArrayTypeDesc()
 
TypeDesc ArrayElementTypeDesc
 
static MemberMapping[] GetAllMembers(StructMapping mapping)
 
string ReferenceMapping(TypeMapping mapping)
 
void GenerateReferencedMethods()
 
void WriteQuotedCSharpString(string value)
 
void WriteElements(string source, string enumSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, string arrayName, bool writeAccessors, bool isNullable)
 
override void GenerateMethod(TypeMapping mapping)
 
void WriteEncodedNullTag(string name, string ns)
 
void WriteInstanceOf(string source, string escapedTypeName, bool useReflection)
 
void WriteArrayLocalDecl(string typeName, string variableName, string initValue, TypeDesc arrayTypeDesc)
 
void WriteDerivedTypes(StructMapping mapping)
 
void WritePrimitiveValue(TypeDesc typeDesc, string source, bool isElement)
 
void WriteMember(string source, AttributeAccessor attribute, TypeDesc memberTypeDesc, string parent)
 
void WriteTypeCompare(string variable, string escapedTypeName, bool useReflection)
 
void WriteEnumAndArrayTypes()
 
int FindXmlnsIndex(MemberMapping[] members)
 
void WriteEnumCase(string fullTypeName, ConstantMapping c, bool useReflection)
 
XmlSerializationWriterCodeGen(IndentedWriter writer, TypeScope[] scopes, string access, string className)
 
void WriteNullCheckBegin(string source, ElementAccessor element)
 
void WriteNamespaces(string source)
 
string GenerateElement(XmlMapping xmlMapping)
 
void WriteArrayItems(ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc arrayTypeDesc, string arrayName, string choiceName)
 
void WriteQualifiedNameElement(string name, string ns, object defaultValue, string source, bool nullable, bool IsSoap, TypeMapping mapping)
 
string NextMethodName(string name)
 
string GenerateTypeElement(XmlTypeMapping xmlTypeMapping)
 
void WriteLocalDecl(string typeName, string variableName, string initValue, bool useReflection)
 
void WriteAttribute(string source, AttributeAccessor attribute, string parent)
 
string GenerateMembersElement(XmlMembersMapping xmlMembersMapping)
 
void WriteText(string source, TextAccessor text)
 
void WriteStructMethod(StructMapping mapping)
 
void WriteElementCall(string func, Type cast, string source, string name, string ns, bool isNullable, bool isAny)
 
void WriteArray(string source, string choiceSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc arrayTypeDesc)
 
void WriteCheckDefault(TypeMapping mapping, string source, object value, bool isNullable)
 
bool CanOptimizeWriteListSequence(TypeDesc listElementTypeDesc)
 
void WriteEndElement(string source)
 
void WriteValue(object value)
 
void WriteElements(string source, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, string arrayName, bool writeAccessors, bool isNullable)
 
void WriteElement(string source, ElementAccessor element, string arrayName, bool writeAccessor)
 
void WriteEnumValue(EnumMapping mapping, string source)
 
void WritePrimitive(string method, string name, string ns, object defaultValue, string source, TypeMapping mapping, bool writeXsiType, bool isElement, bool isNullable)
 
void WriteEmptyTag(string name, string ns)
 
void WriteEnumMethod(EnumMapping mapping)
 
void WriteStartElement(string name, string ns, bool writePrefixed)
 
void WriteChoiceTypeCheck(string source, string fullTypeName, bool useReflection, ChoiceIdentifierAccessor choice, string enumName, TypeDesc typeDesc)
 
void WriteMember(string source, string choiceSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc memberTypeDesc, bool writeAccessors)
 
void WriteArrayTypeCompare(string variable, string escapedTypeName, string elementTypeName, bool useReflection)
 
void WriteTag(string methodName, string name, string ns, bool writePrefixed)
 
string FindChoiceEnumValue(ElementAccessor element, EnumMapping choiceMapping, bool useReflection)
 
void WriteExtraMembers(string loopStartSource, string loopEndSource)
 
void GenerateInitCallbacksMethod()
 
void WriteLiteralNullTag(string name, string ns)
 
void WriteTag(string methodName, string name, string ns)