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

◆ ConsumeSign()

ConsumeNumberResult System.Text.Json.Utf8JsonReader.ConsumeSign ( ref ReadOnlySpan< byte > data,
ref int i )
inlineprivate

Definition at line 1207 of file Utf8JsonReader.cs.

1208 {
1209 if (i >= data.Length)
1210 {
1211 if (IsLastSpan)
1212 {
1214 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundEndOfData, 0);
1215 }
1216 return ConsumeNumberResult.NeedMoreData;
1217 }
1218 byte b = data[i];
1219 if (b == 43 || b == 45)
1220 {
1221 i++;
1222 if (i >= data.Length)
1223 {
1224 if (IsLastSpan)
1225 {
1227 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundEndOfData, 0);
1228 }
1229 return ConsumeNumberResult.NeedMoreData;
1230 }
1231 b = data[i];
1232 }
1233 if (!JsonHelpers.IsDigit(b))
1234 {
1236 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.RequiredDigitNotFoundAfterSign, b);
1237 }
1238 return ConsumeNumberResult.OperationIncomplete;
1239 }

References System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Dictionary, System.Text.Json.JsonHelpers.IsDigit(), System.Text.Json.Utf8JsonReader.IsLastSpan, and System.Text.Json.ThrowHelper.ThrowJsonReaderException().

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