| 751 | } |
| 752 | |
| 753 | bool Reader::recoverFromError(TokenType skipUntilToken) { |
| 754 | size_t const errorCount = errors_.size(); |
| 755 | Token skip; |
| 756 | for (;;) { |
| 757 | if (!readToken(skip)) |
| 758 | errors_.resize(errorCount); // discard errors caused by recovery |
| 759 | if (skip.type_ == skipUntilToken || skip.type_ == tokenEndOfStream) |
| 760 | break; |
| 761 | } |
| 762 | errors_.resize(errorCount); |
| 763 | return false; |
| 764 | } |
| 765 | |
| 766 | bool Reader::addErrorAndRecover(const JSONCPP_STRING& message, |
| 767 | Token& token, |