private void Assert(bool cond, JsonTokenType nextToken)
        {
            if (!cond)
            {
                StringBuilder sb = new StringBuilder(150);

                sb.Append("Attempted state transition would lead to an invalid JSON output.");
                sb.Append(Environment.NewLine);
                sb.Append("Current Token:\t").Append(this.CurrentToken.ToString());
                sb.Append(Environment.NewLine);
                sb.Append("Attempted Token:\t").Append(nextToken.ToString());
                sb.Append(Environment.NewLine);
                sb.Append("Current Struct:\t").Append(this.CurrentStruct.ToString());
                throw new InvalidOperationException(sb.ToString());
            }
        }
Exemple #2
0
        public static string GetTokenString(JsonTokenType tokenType)
        {
            switch (tokenType)
            {
            case JsonTokenType.Number:
                return("Integer");

            case JsonTokenType.StartArray:
                return("Array");

            case JsonTokenType.StartObject:
                return("Object");

            default:
                break;
            }
            return(tokenType.ToString());
        }
Exemple #3
0
        public static string GetTokenString(JsonTokenType tokenType)
        {
            switch (tokenType)
            {
            case JsonTokenType.None:
                break;

            case JsonTokenType.StartObject:
                return("Object");

            case JsonTokenType.StartArray:
                return("Array");

            case JsonTokenType.PropertyName:
                return("Property");
            }

            return(tokenType.ToString());
        }
Exemple #4
0
        private static string GetTokenString(JsonValueType valueType, JsonTokenType tokenType)
        {
            switch (valueType)
            {
            case JsonValueType.Number:
                return("Integer");

            case JsonValueType.Unknown:
                if (tokenType == JsonTokenType.StartArray)
                {
                    return(JsonValueType.Array.ToString());
                }
                if (tokenType == JsonTokenType.StartObject)
                {
                    return(JsonValueType.Object.ToString());
                }
                return(tokenType.ToString());

            default:
                break;
            }
            return(valueType.ToString());
        }
Exemple #5
0
        /*
         * public JsonToken(JsonTokenType type, ReadOnlySpan<char> value, int row, int column) {
         *  Type = type;
         *  Value = value;
         *  Row = row;
         *  Column = column;
         * }
         */

        public override string ToString()
        {
            return(nameof(JsonToken) + $" {{ {Type.ToString()} \"{Value.ToString()}\" at ({Row}, {Column}) }}");
        }
Exemple #6
0
        private void Assert(bool cond, JsonTokenType nextToken)
        {
            if(!cond) {
                StringBuilder sb = new StringBuilder(150);

                sb.Append("Attempted state transition would lead to an invalid JSON output.");
                sb.Append(Environment.NewLine);
                sb.Append("Current Token:\t").Append(this.CurrentToken.ToString());
                sb.Append(Environment.NewLine);
                sb.Append("Attempted Token:\t").Append(nextToken.ToString());
                sb.Append(Environment.NewLine);
                sb.Append("Current Struct:\t").Append(this.CurrentStruct.ToString());
                throw new InvalidOperationException(sb.ToString());
            }
        }
Exemple #7
0
 internal Exception ThrowUnexpectedToken(JsonTokenType expectedType) => ThrowUnexpectedToken(expectedType.ToString());