static void DeserializeArray(TextReader reader, ObjectBuilder builder) { int c; builder.StartArray(); while(true) { c = reader.Peek(); if (c == -1) throw new DeserializationException("Unexpected end of stream", reader); if (c == ']') { reader.Read(); // skip the ] break; } _DeserializeMember(reader, builder); Methods.ConsumeWhiteSpace(reader); c = reader.Read(); if(c == ',') continue; if(c == ']') break; if(c == -1) throw new DeserializationException("Unexpected end of stream", reader); throw new DeserializationException("Expected , or ], found "+(char)c, reader); } builder.EndArray(); }
static void DeserializeArray(TextReader reader, ObjectBuilder builder) { int c; builder.StartArray(); while (true) { Methods.ConsumeWhiteSpace(reader); c = reader.Peek(); if (c == -1) { throw new DeserializationException("Unexpected end of stream", reader); } if (c == ']') { reader.Read(); // skip the ] break; } _DeserializeMember(reader, builder); Methods.ConsumeWhiteSpace(reader); c = reader.Read(); if (c == ',') { continue; } if (c == ']') { break; } if (c == -1) { throw new DeserializationException("Unexpected end of stream", reader); } throw new DeserializationException("Expected , or ], found " + (char)c, reader); } builder.EndArray(); }