| 401 | |
| 402 | template<class Stream> |
| 403 | bool JsonSkipper<Stream>::SkipArray() { |
| 404 | DCHECK(s_.Peek() == '['); |
| 405 | s_.Take(); |
| 406 | SkipWhitespace(); |
| 407 | if (Consume(']')) return true; |
| 408 | while (true) { |
| 409 | RETURN_IF_FALSE(SkipValue()); |
| 410 | SkipWhitespace(); |
| 411 | if (Consume(',')) SkipWhitespace(); |
| 412 | else if (Consume(']')) return true; |
| 413 | else ERROR_IF_FALSE(false, kParseErrorArrayMissCommaOrSquareBracket); |
| 414 | } |
| 415 | } |
| 416 | |
| 417 | template<class Stream> |
| 418 | bool JsonSkipper<Stream>::SkipValue() { |