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

◆ ConsumeValue()

bool System.Text.Json.Utf8JsonReader.ConsumeValue ( byte marker)
inlineprivate

Definition at line 730 of file Utf8JsonReader.cs.

731 {
732 while (true)
733 {
735 switch (marker)
736 {
737 case 34:
738 return ConsumeString();
739 case 123:
740 StartObject();
741 break;
742 case 91:
743 StartArray();
744 break;
745 default:
746 if (JsonHelpers.IsDigit(marker) || marker == 45)
747 {
748 return ConsumeNumber();
749 }
750 switch (marker)
751 {
752 case 102:
753 return ConsumeLiteral(JsonConstants.FalseValue, JsonTokenType.False);
754 case 116:
755 return ConsumeLiteral(JsonConstants.TrueValue, JsonTokenType.True);
756 case 110:
757 return ConsumeLiteral(JsonConstants.NullValue, JsonTokenType.Null);
758 }
760 {
761 case JsonCommentHandling.Allow:
762 if (marker == 47)
763 {
764 return ConsumeComment();
765 }
766 break;
767 default:
768 if (marker != 47)
769 {
770 break;
771 }
772 if (SkipComment())
773 {
774 if (_consumed >= (uint)_buffer.Length)
775 {
776 if (_isNotPrimitive && IsLastSpan && _tokenType != JsonTokenType.EndArray && _tokenType != JsonTokenType.EndObject)
777 {
778 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.InvalidEndOfJsonNonPrimitive, 0);
779 }
780 return false;
781 }
783 if (marker <= 32)
784 {
786 if (!HasMoreData())
787 {
788 return false;
789 }
791 }
792 goto IL_0140;
793 }
794 return false;
795 case JsonCommentHandling.Disallow:
796 break;
797 }
798 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfValueNotFound, marker);
799 break;
800 }
801 break;
802 IL_0140:
804 }
805 return true;
806 }
bool ConsumeLiteral(ReadOnlySpan< byte > literal, JsonTokenType tokenType)

References System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._isNotPrimitive, System.Text.Json.Utf8JsonReader._readerOptions, System.Text.Json.Utf8JsonReader._tokenType, System.Text.Json.Utf8JsonReader._trailingCommaBeforeComment, System.Text.Json.JsonReaderOptions.CommentHandling, System.Text.Json.Utf8JsonReader.ConsumeComment(), System.Text.Json.Utf8JsonReader.ConsumeLiteral(), System.Text.Json.Utf8JsonReader.ConsumeNumber(), System.Text.Json.Utf8JsonReader.ConsumeString(), System.Text.Json.Dictionary, System.Text.Json.JsonConstants.FalseValue, System.Text.Json.Utf8JsonReader.HasMoreData(), System.Text.Json.JsonHelpers.IsDigit(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.ReadOnlySpan< T >.Length, System.Text.Json.JsonConstants.NullValue, System.Text.Json.Utf8JsonReader.SkipComment(), System.Text.Json.Utf8JsonReader.SkipWhiteSpace(), System.Text.Json.Utf8JsonReader.StartArray(), System.Text.Json.Utf8JsonReader.StartObject(), System.Text.Json.ThrowHelper.ThrowJsonReaderException(), System.Text.Json.Utf8JsonReader.TokenStartIndex, and System.Text.Json.JsonConstants.TrueValue.

Referenced by System.Text.Json.Utf8JsonReader.ConsumeNextToken(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenFromLastNonCommentToken(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenUntilAfterAllCommentsAreSkipped(), System.Text.Json.Utf8JsonReader.ReadFirstToken(), and System.Text.Json.Utf8JsonReader.ReadSingleSegment().