@@ -163,11 +163,9 @@ bool Reader::readValue() {
163
163
switch (token.type_ ) {
164
164
case tokenObjectBegin:
165
165
successful = readObject (token);
166
- currentValue ().setOffsetLimit (current_ - begin_);
167
166
break ;
168
167
case tokenArrayBegin:
169
168
successful = readArray (token);
170
- currentValue ().setOffsetLimit (current_ - begin_);
171
169
break ;
172
170
case tokenNumber:
173
171
successful = decodeNumber (token);
@@ -179,24 +177,18 @@ bool Reader::readValue() {
179
177
{
180
178
Value v (true );
181
179
currentValue ().swapPayload (v);
182
- currentValue ().setOffsetStart (token.start_ - begin_);
183
- currentValue ().setOffsetLimit (token.end_ - begin_);
184
180
}
185
181
break ;
186
182
case tokenFalse:
187
183
{
188
184
Value v (false );
189
185
currentValue ().swapPayload (v);
190
- currentValue ().setOffsetStart (token.start_ - begin_);
191
- currentValue ().setOffsetLimit (token.end_ - begin_);
192
186
}
193
187
break ;
194
188
case tokenNull:
195
189
{
196
190
Value v;
197
191
currentValue ().swapPayload (v);
198
- currentValue ().setOffsetStart (token.start_ - begin_);
199
- currentValue ().setOffsetLimit (token.end_ - begin_);
200
192
}
201
193
break ;
202
194
case tokenArraySeparator:
@@ -206,14 +198,10 @@ bool Reader::readValue() {
206
198
current_--;
207
199
Value v;
208
200
currentValue ().swapPayload (v);
209
- currentValue ().setOffsetStart (current_ - begin_ - 1 );
210
- currentValue ().setOffsetLimit (current_ - begin_);
211
201
break ;
212
202
}
213
203
// Else, fall through...
214
204
default :
215
- currentValue ().setOffsetStart (token.start_ - begin_);
216
- currentValue ().setOffsetLimit (token.end_ - begin_);
217
205
return addError (" Syntax error: value, object or array expected." , token);
218
206
}
219
207
@@ -441,12 +429,11 @@ bool Reader::readString() {
441
429
return c == ' "' ;
442
430
}
443
431
444
- bool Reader::readObject (Token& tokenStart) {
432
+ bool Reader::readObject (Token& /* tokenStart*/ ) {
445
433
Token tokenName;
446
434
std::string name;
447
435
Value init (objectValue);
448
436
currentValue ().swapPayload (init);
449
- currentValue ().setOffsetStart (tokenStart.start_ - begin_);
450
437
while (readToken (tokenName)) {
451
438
bool initialTokenOk = true ;
452
439
while (tokenName.type_ == tokenComment && initialTokenOk)
@@ -497,10 +484,9 @@ bool Reader::readObject(Token& tokenStart) {
497
484
" Missing '}' or object member name" , tokenName, tokenObjectEnd);
498
485
}
499
486
500
- bool Reader::readArray (Token& tokenStart) {
487
+ bool Reader::readArray (Token& /* tokenStart*/ ) {
501
488
Value init (arrayValue);
502
489
currentValue ().swapPayload (init);
503
- currentValue ().setOffsetStart (tokenStart.start_ - begin_);
504
490
skipSpaces ();
505
491
if (*current_ == ' ]' ) // empty array
506
492
{
@@ -540,8 +526,6 @@ bool Reader::decodeNumber(Token& token) {
540
526
if (!decodeNumber (token, decoded))
541
527
return false ;
542
528
currentValue ().swapPayload (decoded);
543
- currentValue ().setOffsetStart (token.start_ - begin_);
544
- currentValue ().setOffsetLimit (token.end_ - begin_);
545
529
return true ;
546
530
}
547
531
@@ -590,8 +574,6 @@ bool Reader::decodeDouble(Token& token) {
590
574
if (!decodeDouble (token, decoded))
591
575
return false ;
592
576
currentValue ().swapPayload (decoded);
593
- currentValue ().setOffsetStart (token.start_ - begin_);
594
- currentValue ().setOffsetLimit (token.end_ - begin_);
595
577
return true ;
596
578
}
597
579
@@ -637,8 +619,6 @@ bool Reader::decodeString(Token& token) {
637
619
return false ;
638
620
Value decoded (decoded_string);
639
621
currentValue ().swapPayload (decoded);
640
- currentValue ().setOffsetStart (token.start_ - begin_);
641
- currentValue ().setOffsetLimit (token.end_ - begin_);
642
622
return true ;
643
623
}
644
624
@@ -850,20 +830,6 @@ std::string Reader::getFormattedErrorMessages() const {
850
830
return formattedMessage;
851
831
}
852
832
853
- std::vector<Reader::StructuredError> Reader::getStructuredErrors () const {
854
- std::vector<Reader::StructuredError> allErrors;
855
- for (Errors::const_iterator itError = errors_.begin ();
856
- itError != errors_.end ();
857
- ++itError) {
858
- const ErrorInfo& error = *itError;
859
- Reader::StructuredError structured;
860
- structured.offset_start = error.token_ .start_ - begin_;
861
- structured.offset_limit = error.token_ .end_ - begin_;
862
- structured.message = error.message_ ;
863
- allErrors.push_back (structured);
864
- }
865
- return allErrors;
866
- }
867
833
// Reader
868
834
// ///////////////////////
869
835
@@ -919,7 +885,6 @@ class OurReader {
919
885
Value& root,
920
886
bool collectComments = true );
921
887
std::string getFormattedErrorMessages () const ;
922
- std::vector<StructuredError> getStructuredErrors () const ;
923
888
924
889
private:
925
890
OurReader (OurReader const &); // no impl
@@ -1083,11 +1048,9 @@ bool OurReader::readValue() {
1083
1048
switch (token.type_ ) {
1084
1049
case tokenObjectBegin:
1085
1050
successful = readObject (token);
1086
- currentValue ().setOffsetLimit (current_ - begin_);
1087
1051
break ;
1088
1052
case tokenArrayBegin:
1089
1053
successful = readArray (token);
1090
- currentValue ().setOffsetLimit (current_ - begin_);
1091
1054
break ;
1092
1055
case tokenNumber:
1093
1056
successful = decodeNumber (token);
@@ -1099,24 +1062,18 @@ bool OurReader::readValue() {
1099
1062
{
1100
1063
Value v (true );
1101
1064
currentValue ().swapPayload (v);
1102
- currentValue ().setOffsetStart (token.start_ - begin_);
1103
- currentValue ().setOffsetLimit (token.end_ - begin_);
1104
1065
}
1105
1066
break ;
1106
1067
case tokenFalse:
1107
1068
{
1108
1069
Value v (false );
1109
1070
currentValue ().swapPayload (v);
1110
- currentValue ().setOffsetStart (token.start_ - begin_);
1111
- currentValue ().setOffsetLimit (token.end_ - begin_);
1112
1071
}
1113
1072
break ;
1114
1073
case tokenNull:
1115
1074
{
1116
1075
Value v;
1117
1076
currentValue ().swapPayload (v);
1118
- currentValue ().setOffsetStart (token.start_ - begin_);
1119
- currentValue ().setOffsetLimit (token.end_ - begin_);
1120
1077
}
1121
1078
break ;
1122
1079
case tokenArraySeparator:
@@ -1126,14 +1083,10 @@ bool OurReader::readValue() {
1126
1083
current_--;
1127
1084
Value v;
1128
1085
currentValue ().swapPayload (v);
1129
- currentValue ().setOffsetStart (current_ - begin_ - 1 );
1130
- currentValue ().setOffsetLimit (current_ - begin_);
1131
1086
break ;
1132
1087
}
1133
1088
// Else, fall through...
1134
1089
default :
1135
- currentValue ().setOffsetStart (token.start_ - begin_);
1136
- currentValue ().setOffsetLimit (token.end_ - begin_);
1137
1090
return addError (" Syntax error: value, object or array expected." , token);
1138
1091
}
1139
1092
@@ -1347,7 +1300,6 @@ bool OurReader::readObject(Token& tokenStart) {
1347
1300
std::string name;
1348
1301
Value init (objectValue);
1349
1302
currentValue ().swapPayload (init);
1350
- currentValue ().setOffsetStart (tokenStart.start_ - begin_);
1351
1303
while (readToken (tokenName)) {
1352
1304
bool initialTokenOk = true ;
1353
1305
while (tokenName.type_ == tokenComment && initialTokenOk)
@@ -1401,7 +1353,6 @@ bool OurReader::readObject(Token& tokenStart) {
1401
1353
bool OurReader::readArray (Token& tokenStart) {
1402
1354
Value init (arrayValue);
1403
1355
currentValue ().swapPayload (init);
1404
- currentValue ().setOffsetStart (tokenStart.start_ - begin_);
1405
1356
skipSpaces ();
1406
1357
if (*current_ == ' ]' ) // empty array
1407
1358
{
@@ -1441,8 +1392,6 @@ bool OurReader::decodeNumber(Token& token) {
1441
1392
if (!decodeNumber (token, decoded))
1442
1393
return false ;
1443
1394
currentValue ().swapPayload (decoded);
1444
- currentValue ().setOffsetStart (token.start_ - begin_);
1445
- currentValue ().setOffsetLimit (token.end_ - begin_);
1446
1395
return true ;
1447
1396
}
1448
1397
@@ -1491,8 +1440,6 @@ bool OurReader::decodeDouble(Token& token) {
1491
1440
if (!decodeDouble (token, decoded))
1492
1441
return false ;
1493
1442
currentValue ().swapPayload (decoded);
1494
- currentValue ().setOffsetStart (token.start_ - begin_);
1495
- currentValue ().setOffsetLimit (token.end_ - begin_);
1496
1443
return true ;
1497
1444
}
1498
1445
@@ -1538,8 +1485,6 @@ bool OurReader::decodeString(Token& token) {
1538
1485
return false ;
1539
1486
Value decoded (decoded_string);
1540
1487
currentValue ().swapPayload (decoded);
1541
- currentValue ().setOffsetStart (token.start_ - begin_);
1542
- currentValue ().setOffsetLimit (token.end_ - begin_);
1543
1488
return true ;
1544
1489
}
1545
1490
@@ -1746,21 +1691,6 @@ std::string OurReader::getFormattedErrorMessages() const {
1746
1691
return formattedMessage;
1747
1692
}
1748
1693
1749
- std::vector<OurReader::StructuredError> OurReader::getStructuredErrors () const {
1750
- std::vector<OurReader::StructuredError> allErrors;
1751
- for (Errors::const_iterator itError = errors_.begin ();
1752
- itError != errors_.end ();
1753
- ++itError) {
1754
- const ErrorInfo& error = *itError;
1755
- OurReader::StructuredError structured;
1756
- structured.offset_start = error.token_ .start_ - begin_;
1757
- structured.offset_limit = error.token_ .end_ - begin_;
1758
- structured.message = error.message_ ;
1759
- allErrors.push_back (structured);
1760
- }
1761
- return allErrors;
1762
- }
1763
-
1764
1694
1765
1695
class OurCharReader : public CharReader {
1766
1696
bool const collectComments_;
0 commit comments