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

◆ ConsumeValueMultiSegment()

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

Definition at line 2232 of file Utf8JsonReader.cs.

2233 {
2234 while (true)
2235 {
2237 switch (marker)
2238 {
2239 case 34:
2241 case 123:
2242 StartObject();
2243 break;
2244 case 91:
2245 StartArray();
2246 break;
2247 default:
2248 if (JsonHelpers.IsDigit(marker) || marker == 45)
2249 {
2251 }
2252 switch (marker)
2253 {
2254 case 102:
2255 return ConsumeLiteralMultiSegment(JsonConstants.FalseValue, JsonTokenType.False);
2256 case 116:
2257 return ConsumeLiteralMultiSegment(JsonConstants.TrueValue, JsonTokenType.True);
2258 case 110:
2259 return ConsumeLiteralMultiSegment(JsonConstants.NullValue, JsonTokenType.Null);
2260 }
2262 {
2263 case JsonCommentHandling.Allow:
2264 if (marker == 47)
2265 {
2266 SequencePosition currentPosition2 = _currentPosition;
2268 {
2270 return false;
2271 }
2272 return true;
2273 }
2274 break;
2275 default:
2276 {
2277 if (marker != 47)
2278 {
2279 break;
2280 }
2281 SequencePosition currentPosition = _currentPosition;
2283 {
2284 if (_consumed >= (uint)_buffer.Length)
2285 {
2286 if (_isNotPrimitive && IsLastSpan && _tokenType != JsonTokenType.EndArray && _tokenType != JsonTokenType.EndObject)
2287 {
2288 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.InvalidEndOfJsonNonPrimitive, 0);
2289 }
2290 if (!GetNextSpan())
2291 {
2292 if (_isNotPrimitive && IsLastSpan && _tokenType != JsonTokenType.EndArray && _tokenType != JsonTokenType.EndObject)
2293 {
2294 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.InvalidEndOfJsonNonPrimitive, 0);
2295 }
2297 return false;
2298 }
2299 }
2301 if (marker <= 32)
2302 {
2305 {
2307 return false;
2308 }
2310 }
2311 goto IL_01a8;
2312 }
2314 return false;
2315 }
2316 case JsonCommentHandling.Disallow:
2317 break;
2318 }
2319 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfValueNotFound, marker);
2320 break;
2321 }
2322 break;
2323 IL_01a8:
2325 }
2326 return true;
2327 }
bool SkipCommentMultiSegment(out int tailBytesToIgnore)
bool ConsumeLiteralMultiSegment(ReadOnlySpan< byte > literal, JsonTokenType tokenType)

References System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._currentPosition, System.Text.Json.Utf8JsonReader._isNotPrimitive, System.Text.Json.Utf8JsonReader._readerOptions, System.Text.Json.Utf8JsonReader._tokenType, System.Text.Json.Utf8JsonReader._trailingCommaBeforeComment, System.Text.Json.Utf8JsonReader.BytesConsumed, System.Text.Json.JsonReaderOptions.CommentHandling, System.Text.Json.Utf8JsonReader.ConsumeLiteralMultiSegment(), System.Text.Json.Utf8JsonReader.ConsumeNumberMultiSegment(), System.Text.Json.Utf8JsonReader.ConsumeStringMultiSegment(), System.Text.Json.Dictionary, System.Text.Json.JsonConstants.FalseValue, System.Text.Json.Utf8JsonReader.GetNextSpan(), System.Text.Json.Utf8JsonReader.HasMoreDataMultiSegment(), System.Text.Json.JsonHelpers.IsDigit(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.ReadOnlySpan< T >.Length, System.Text.Json.JsonConstants.NullValue, System.Text.Json.Utf8JsonReader.SkipCommentMultiSegment(), System.Text.Json.Utf8JsonReader.SkipOrConsumeCommentMultiSegmentWithRollback(), System.Text.Json.Utf8JsonReader.SkipWhiteSpaceMultiSegment(), 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.ConsumeNextTokenFromLastNonCommentTokenMultiSegment(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenMultiSegment(), System.Text.Json.Utf8JsonReader.ConsumeNextTokenUntilAfterAllCommentsAreSkippedMultiSegment(), System.Text.Json.Utf8JsonReader.ReadFirstTokenMultiSegment(), and System.Text.Json.Utf8JsonReader.ReadMultiSegment().