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

◆ ConsumeNegativeSignMultiSegment()

ConsumeNumberResult System.Text.Json.Utf8JsonReader.ConsumeNegativeSignMultiSegment ( ref ReadOnlySpan< byte > data,
ref int i,
in PartialStateForRollback rollBackState )
inlineprivate

Definition at line 2920 of file Utf8JsonReader.cs.

2921 {
2922 byte b = data[i];
2923 if (b == 45)
2924 {
2925 i++;
2927 if (i >= data.Length)
2928 {
2929 if (IsLastSpan)
2930 {
2932 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundEndOfData, 0);
2933 }
2934 if (!GetNextSpan())
2935 {
2936 if (IsLastSpan)
2937 {
2939 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundEndOfData, 0);
2940 }
2941 return ConsumeNumberResult.NeedMoreData;
2942 }
2943 _totalConsumed += i;
2944 HasValueSequence = true;
2945 i = 0;
2946 data = _buffer;
2947 }
2948 b = data[i];
2949 if (!JsonHelpers.IsDigit(b))
2950 {
2952 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundAfterSign, b);
2953 }
2954 }
2955 return ConsumeNumberResult.OperationIncomplete;
2956 }
void RollBackState(in PartialStateForRollback state, bool isError=false)

References System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Utf8JsonReader._totalConsumed, System.Text.Json.Dictionary, System.Text.Json.Utf8JsonReader.GetNextSpan(), System.Text.Json.Utf8JsonReader.HasValueSequence, System.Text.Json.JsonHelpers.IsDigit(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.Text.Json.Utf8JsonReader.RollBackState(), and System.Text.Json.ThrowHelper.ThrowJsonReaderException().

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