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

◆ ConsumeNextTokenUntilAfterAllCommentsAreSkipped()

ConsumeTokenResult System.Text.Json.Utf8JsonReader.ConsumeNextTokenUntilAfterAllCommentsAreSkipped ( byte marker)
inlineprivate

Definition at line 1605 of file Utf8JsonReader.cs.

1606 {
1608 {
1610 if (_tokenType == JsonTokenType.StartObject)
1611 {
1612 if (marker == 125)
1613 {
1614 EndObject();
1615 }
1616 else
1617 {
1618 if (marker != 34)
1619 {
1620 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyNotFound, marker);
1621 }
1622 int consumed = _consumed;
1624 long lineNumber = _lineNumber;
1625 if (!ConsumePropertyName())
1626 {
1628 _tokenType = JsonTokenType.StartObject;
1630 _lineNumber = lineNumber;
1631 goto IL_0281;
1632 }
1633 }
1634 }
1635 else if (_tokenType == JsonTokenType.StartArray)
1636 {
1637 if (marker == 93)
1638 {
1639 EndArray();
1640 }
1641 else if (!ConsumeValue(marker))
1642 {
1643 goto IL_0281;
1644 }
1645 }
1646 else if (_tokenType == JsonTokenType.PropertyName)
1647 {
1648 if (!ConsumeValue(marker))
1649 {
1650 goto IL_0281;
1651 }
1652 }
1653 else if (_bitStack.CurrentDepth == 0)
1654 {
1655 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedEndAfterSingleJson, marker);
1656 }
1657 else
1658 {
1659 switch (marker)
1660 {
1661 case 44:
1662 _consumed++;
1664 if (_consumed >= (uint)_buffer.Length)
1665 {
1666 if (IsLastSpan)
1667 {
1668 _consumed--;
1670 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyOrValueNotFound, 0);
1671 }
1672 return ConsumeTokenResult.NotEnoughDataRollBackState;
1673 }
1675 if (marker <= 32)
1676 {
1678 if (!HasMoreData(ExceptionResource.ExpectedStartOfPropertyOrValueNotFound))
1679 {
1680 return ConsumeTokenResult.NotEnoughDataRollBackState;
1681 }
1683 }
1684 if (SkipAllComments(ref marker, ExceptionResource.ExpectedStartOfPropertyOrValueNotFound))
1685 {
1687 if (_inObject)
1688 {
1689 if (marker != 34)
1690 {
1691 if (marker == 125)
1692 {
1694 {
1695 EndObject();
1696 break;
1697 }
1698 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.TrailingCommaNotAllowedBeforeObjectEnd, 0);
1699 }
1700 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.ExpectedStartOfPropertyNotFound, marker);
1701 }
1702 if (!ConsumePropertyName())
1703 {
1704 return ConsumeTokenResult.NotEnoughDataRollBackState;
1705 }
1706 return ConsumeTokenResult.Success;
1707 }
1708 if (marker == 93)
1709 {
1711 {
1712 EndArray();
1713 break;
1714 }
1715 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.TrailingCommaNotAllowedBeforeArrayEnd, 0);
1716 }
1717 if (!ConsumeValue(marker))
1718 {
1719 return ConsumeTokenResult.NotEnoughDataRollBackState;
1720 }
1721 return ConsumeTokenResult.Success;
1722 }
1723 return ConsumeTokenResult.NotEnoughDataRollBackState;
1724 case 125:
1725 EndObject();
1726 break;
1727 case 93:
1728 EndArray();
1729 break;
1730 default:
1731 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.FoundInvalidCharacter, marker);
1732 break;
1733 }
1734 }
1735 return ConsumeTokenResult.Success;
1736 }
1737 goto IL_0281;
1738 IL_0281:
1739 return ConsumeTokenResult.IncompleteNoRollBackNecessary;
1740 }
bool SkipAllComments(ref byte marker)

References System.Text.Json.Utf8JsonReader._bitStack, System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._inObject, System.Text.Json.Utf8JsonReader._lineNumber, System.Text.Json.Utf8JsonReader._readerOptions, System.Text.Json.Utf8JsonReader._tokenType, System.Text.Json.JsonReaderOptions.AllowTrailingCommas, System.Text.Json.Utf8JsonReader.ConsumePropertyName(), System.Text.Json.Utf8JsonReader.ConsumeValue(), System.Text.Json.BitStack.CurrentDepth, System.Text.Json.Dictionary, System.Text.Json.Utf8JsonReader.EndArray(), System.Text.Json.Utf8JsonReader.EndObject(), System.Text.Json.Utf8JsonReader.HasMoreData(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.ReadOnlySpan< T >.Length, System.Text.Json.Utf8JsonReader.SkipAllComments(), System.Text.Json.Utf8JsonReader.SkipWhiteSpace(), System.Text.Json.ThrowHelper.ThrowJsonReaderException(), and System.Text.Json.Utf8JsonReader.TokenStartIndex.

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