1245 {
1249 base.Writer.WriteLine();
1251 base.Writer.Write(
" ");
1252 base.Writer.Write(
s);
1253 base.Writer.Write(
"(");
1255 {
1256 base.Writer.Write(
"bool isNullable, ");
1257 }
1258 base.Writer.WriteLine(
"bool checkType) {");
1259 base.Writer.Indent++;
1260 base.Writer.Write(
typeof(XmlQualifiedName).FullName);
1261 base.Writer.WriteLine(
" xsiType = checkType ? GetXsiType() : null;");
1262 base.Writer.WriteLine(
"bool isNull = false;");
1264 {
1265 base.Writer.WriteLine(
"if (isNullable) isNull = ReadNull();");
1266 }
1267 base.Writer.WriteLine(
"if (checkType) {");
1269 {
1270 base.Writer.Indent++;
1271 base.Writer.WriteLine(
"if (isNull) {");
1272 base.Writer.Indent++;
1273 base.Writer.WriteLine(
"if (xsiType != null) return (" +
text +
")ReadTypedNull(xsiType);");
1274 base.Writer.Write(
"else return ");
1276 {
1278 base.Writer.WriteLine(
";");
1279 }
1280 else
1281 {
1282 base.Writer.WriteLine(
"null;");
1283 }
1284 base.Writer.Indent--;
1285 base.Writer.WriteLine(
"}");
1286 }
1287 base.Writer.Write(
"if (xsiType == null");
1289 {
1290 base.Writer.Write(
" || ");
1292 }
1293 base.Writer.WriteLine(
") {");
1295 {
1296 base.Writer.Indent++;
1297 base.Writer.WriteLine(
"return ReadTypedPrimitive(new System.Xml.XmlQualifiedName(\"anyType\", \"http://www.w3.org/2001/XMLSchema\"));");
1298 base.Writer.Indent--;
1299 }
1300 base.Writer.WriteLine(
"}");
1301 base.Writer.WriteLine(
"else {");
1302 base.Writer.Indent++;
1305 {
1307 }
1309 {
1310 base.Writer.Write(
"return ReadTypedPrimitive((");
1311 }
1312 else
1313 {
1314 base.Writer.Write(
"throw CreateUnknownTypeException((");
1315 }
1317 base.Writer.WriteLine(
")xsiType);");
1318 base.Writer.Indent--;
1319 base.Writer.WriteLine(
"}");
1321 {
1322 base.Writer.Indent--;
1323 }
1324 base.Writer.WriteLine(
"}");
1326 {
1327 base.Writer.WriteLine(
"if (isNull) return null;");
1328 }
1330 {
1331 base.Writer.Write(
"throw CreateAbstractTypeException(");
1333 base.Writer.Write(
", ");
1335 base.Writer.WriteLine(
");");
1336 }
1337 else
1338 {
1340 {
1341 base.Writer.WriteLine(
"DecodeName = false;");
1342 }
1353 {
1359 {
1361 }
1363 if (
memberMapping.CheckSpecified == SpecifiedAccessor.ReadWrite)
1364 {
1366 }
1368 {
1370 }
1372 {
1374 }
1375 if (!flag)
1376 {
1378 {
1380 {
1382 break;
1383 }
1384 }
1385 }
1387 {
1390 }
1392 {
1396 }
1397 else
1398 {
1400 }
1402 {
1403 continue;
1404 }
1407 {
1410 {
1412 }
1413 }
1415 {
1417 }
1418 }
1420 {
1422 }
1423 if (member !=
null && member !=
member2)
1424 {
1426 }
1434 {
1436 }
1437 base.Writer.WriteLine(
"Reader.MoveToElement();");
1438 base.Writer.WriteLine(
"if (Reader.IsEmptyElement) {");
1439 base.Writer.Indent++;
1440 base.Writer.WriteLine(
"Reader.Skip();");
1442 base.Writer.WriteLine(
"return o;");
1443 base.Writer.Indent--;
1444 base.Writer.WriteLine(
"}");
1445 base.Writer.WriteLine(
"Reader.ReadStartElement();");
1447 {
1448 base.Writer.WriteLine(
"int state = 0;");
1449 }
1451 base.Writer.Indent++;
1454 base.Writer.WriteLine(
"Reader.MoveToContent();");
1457 base.Writer.WriteLine(
"ReadEndElement();");
1458 base.Writer.WriteLine(
"return o;");
1459 }
1460 base.Writer.Indent--;
1461 base.Writer.WriteLine(
"}");
1462 }
void Add(TKey key, TValue value)
static string Format(string resourceFormat, object p1)
static string XmlSequenceHierarchy
void WriteQuotedCSharpString(string value)
void WriteAttributes(Member[] members, Member anyAttribute, string elseCall, string firstParam)
void WriteDerivedTypes(StructMapping mapping, bool isTypedReturn, string returnTypeName)
void WriteWhileNotLoopStart()
void WriteMemberBegin(Member[] members)
void WriteMemberElements(Member[] members, string elementElseString, string elseString, Member anyElement, Member anyText, string checkTypeHrefsSource)
string GetChoiceIdentifierSource(MemberMapping[] mappings, MemberMapping member)
void WriteCreateMapping(TypeMapping mapping, string local)
void WriteMemberEnd(Member[] members)
bool IsSequence(Member[] members)
void WriteQNameEqual(string source, string name, string ns)
void WriteParamsRead(int length)
string ExpectedElements(Member[] members)
void WriteEnumAndArrayTypes()
@ InvalidOperationException