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)