Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ConsumeNextToken()

ConsumeTokenResult System.Text.Json.Utf8JsonReader.ConsumeNextToken ( byte marker)
inlineprivate

Definition at line 1263 of file Utf8JsonReader.cs.

1264 {
1266 {
1267 if (_readerOptions.CommentHandling != JsonCommentHandling.Allow)
1268 {
1270 }
1271 if (marker == 47)
1272 {
1273 if (!ConsumeComment())
1274 {
1275 return ConsumeTokenResult.NotEnoughDataRollBackState;
1276 }
1277 return ConsumeTokenResult.Success;
1278 }
1279 if (_tokenType == JsonTokenType.Comment)
1280 {
1282 }
1283 }
1284 if (_bitStack.CurrentDepth == 0)
1285 {
1286 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedEndAfterSingleJson, marker);
1287 }
1288 switch (marker)
1289 {
1290 case 44:
1291 {
1292 _consumed++;
1294 if (_consumed >= (uint)_buffer.Length)
1295 {
1296 if (IsLastSpan)
1297 {
1298 _consumed--;
1300 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyOrValueNotFound, 0);
1301 }
1302 return ConsumeTokenResult.NotEnoughDataRollBackState;
1303 }
1304 byte b = _buffer[_consumed];
1305 if (b <= 32)
1306 {
1308 if (!HasMoreData(ExceptionResource.ExpectedStartOfPropertyOrValueNotFound))
1309 {
1310 return ConsumeTokenResult.NotEnoughDataRollBackState;
1311 }
1312 b = _buffer[_consumed];
1313 }
1315 if (_readerOptions.CommentHandling == JsonCommentHandling.Allow && b == 47)
1316 {
1318 if (!ConsumeComment())
1319 {
1320 return ConsumeTokenResult.NotEnoughDataRollBackState;
1321 }
1322 return ConsumeTokenResult.Success;
1323 }
1324 if (_inObject)
1325 {
1326 if (b != 34)
1327 {
1328 if (b == 125)
1329 {
1331 {
1332 EndObject();
1333 return ConsumeTokenResult.Success;
1334 }
1335 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.TrailingCommaNotAllowedBeforeObjectEnd, 0);
1336 }
1337 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyNotFound, b);
1338 }
1339 if (!ConsumePropertyName())
1340 {
1341 return ConsumeTokenResult.NotEnoughDataRollBackState;
1342 }
1343 return ConsumeTokenResult.Success;
1344 }
1345 if (b == 93)
1346 {
1348 {
1349 EndArray();
1350 return ConsumeTokenResult.Success;
1351 }
1352 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.TrailingCommaNotAllowedBeforeArrayEnd, 0);
1353 }
1354 if (!ConsumeValue(b))
1355 {
1356 return ConsumeTokenResult.NotEnoughDataRollBackState;
1357 }
1358 return ConsumeTokenResult.Success;
1359 }
1360 case 125:
1361 EndObject();
1362 break;
1363 case 93:
1364 EndArray();
1365 break;
1366 default:
1367 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.FoundInvalidCharacter, marker);
1368 break;
1369 }
1370 return ConsumeTokenResult.Success;
1371 }
ConsumeTokenResult ConsumeNextTokenFromLastNonCommentToken()
ConsumeTokenResult ConsumeNextTokenUntilAfterAllCommentsAreSkipped(byte marker)

References System.Text.Json.Utf8JsonReader._bitStack, System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._inObject, System.Text.Json.Utf8JsonReader._readerOptions, System.Text.Json.Utf8JsonReader._tokenType, System.Text.Json.Utf8JsonReader._trailingCommaBeforeComment, System.Text.Json.JsonReaderOptions.AllowTrailingCommas, System.Text.Json.JsonReaderOptions.CommentHandling, System.Text.Json.Utf8JsonReader.ConsumeComment(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenFromLastNonCommentToken(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenUntilAfterAllCommentsAreSkipped(), System.Text.Json.Utf8JsonReader.ConsumePropertyName(), System.Text.Json.Utf8JsonReader.ConsumeValue(), System.Text.Json.BitStack.CurrentDepth, System.Text.Json.Dictionary, System.Text.Json.Utf8JsonReader.EndArray(), System.Text.Json.Utf8JsonReader.EndObject(), System.Text.Json.Utf8JsonReader.HasMoreData(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.ReadOnlySpan< T >.Length, System.Text.Json.Utf8JsonReader.SkipWhiteSpace(), System.Text.Json.ThrowHelper.ThrowJsonReaderException(), and System.Text.Json.Utf8JsonReader.TokenStartIndex.

Referenced by System.Text.Json.Utf8JsonReader.ConsumeNextTokenOrRollback().