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

◆ ReadSingleSegment()

bool System.Text.Json.Utf8JsonReader.ReadSingleSegment ( )
inlineprivate

Definition at line 545 of file Utf8JsonReader.cs.

546 {
547 bool flag = false;
548 ValueSpan = default(ReadOnlySpan<byte>);
549 if (HasMoreData())
550 {
551 byte b = _buffer[_consumed];
552 if (b <= 32)
553 {
555 if (!HasMoreData())
556 {
557 goto IL_0132;
558 }
560 }
562 if (_tokenType != 0)
563 {
564 if (b == 47)
565 {
567 }
568 else if (_tokenType == JsonTokenType.StartObject)
569 {
570 if (b == 125)
571 {
572 EndObject();
573 goto IL_0130;
574 }
575 if (b != 34)
576 {
577 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyNotFound, b);
578 }
579 int consumed = _consumed;
581 long lineNumber = _lineNumber;
582 flag = ConsumePropertyName();
583 if (!flag)
584 {
586 _tokenType = JsonTokenType.StartObject;
588 _lineNumber = lineNumber;
589 }
590 }
591 else if (_tokenType != JsonTokenType.StartArray)
592 {
593 flag = ((_tokenType != JsonTokenType.PropertyName) ? ConsumeNextTokenOrRollback(b) : ConsumeValue(b));
594 }
595 else
596 {
597 if (b == 93)
598 {
599 EndArray();
600 goto IL_0130;
601 }
602 flag = ConsumeValue(b);
603 }
604 }
605 else
606 {
607 flag = ReadFirstToken(b);
608 }
609 }
610 goto IL_0132;
611 IL_0132:
612 return flag;
613 IL_0130:
614 flag = true;
615 goto IL_0132;
616 }
bool ConsumeNextTokenOrRollback(byte marker)

References System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._lineNumber, System.Text.Json.Utf8JsonReader._tokenType, System.Text.Json.Utf8JsonReader.ConsumeNextTokenOrRollback(), System.Text.Json.Utf8JsonReader.ConsumePropertyName(), System.Text.Json.Utf8JsonReader.ConsumeValue(), System.Text.Json.Dictionary, System.Text.Json.Utf8JsonReader.EndArray(), System.Text.Json.Utf8JsonReader.EndObject(), System.Text.Json.Utf8JsonReader.HasMoreData(), System.Text.Json.Utf8JsonReader.ReadFirstToken(), System.Text.Json.Utf8JsonReader.SkipWhiteSpace(), System.Text.Json.ThrowHelper.ThrowJsonReaderException(), System.Text.Json.Utf8JsonReader.TokenStartIndex, and System.Text.Json.Utf8JsonReader.ValueSpan.

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