예제 #1
0
        private JSonWriterTokenInfo VerifyTopTokenEqualTo(JSonWriterTokenType expected1, JSonWriterTokenType expected2)
        {
            JSonWriterTokenType currentToken = JSonWriterTokenType.Nothing;

            if (_tokens.Count > 0)
            {
                currentToken = _tokens.Peek().TokenType;
            }

            if (currentToken != expected1 && currentToken != expected2)
            {
                if (currentToken != expected1)
                {
                    throw new JSonWriterException(expected1, currentToken);
                }
                throw new JSonWriterException(expected2, currentToken);
            }

            if (_tokens.Count > 0)
            {
                return(_tokens.Peek());
            }

            return(null);
        }
예제 #2
0
        private JSonWriterTokenInfo VerifyTopTokenDifferentThan(JSonWriterTokenType expected)
        {
            if (_tokens.Count > 0)
            {
                JSonWriterTokenType currentToken = _tokens.Peek().TokenType;

                if (currentToken == expected)
                {
                    throw new JSonWriterException(expected, currentToken, false);
                }

                return(_tokens.Peek());
            }

            return(null);
        }
예제 #3
0
        private JSonWriterTokenInfo VerifyTopTokenEqualToAndDequeue(JSonWriterTokenType expected)
        {
            JSonWriterTokenType currentToken = JSonWriterTokenType.Nothing;
            JSonWriterTokenInfo t            = null;

            if (_tokens.Count > 0)
            {
                t            = _tokens.Pop();
                currentToken = t.TokenType;
            }

            if (currentToken != expected)
            {
                throw new JSonWriterException(expected, currentToken);
            }

            return(t);
        }
예제 #4
0
        private JSonWriterTokenInfo VerifyTopTokenEqualTo(JSonWriterTokenType expected)
        {
            if (_tokens.Count == 0)
            {
                throw new JSonWriterException(expected, JSonWriterTokenType.Nothing);
            }

            JSonWriterTokenType currentToken = _tokens.Peek().TokenType;

            if (currentToken != expected)
            {
                throw new JSonWriterException(expected, currentToken);
            }

            if (_tokens.Count > 0)
            {
                return(_tokens.Peek());
            }

            return(null);
        }
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(string message, JSonWriterTokenType expected, JSonWriterTokenType spot)
     : base(message)
 {
     ExpectedToken = expected;
     SpotToken = spot;
 }
예제 #6
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(JSonWriterTokenType expected, JSonWriterTokenType spot)
     : this(string.Format(CultureInfo.InvariantCulture, "Expected token: {0}, while spot: {1}.", expected, spot), expected, spot)
 {
 }
예제 #7
0
        private JSonWriterTokenInfo VerifyTopTokenDifferentThan(JSonWriterTokenType expected)
        {
            if (_tokens.Count > 0)
            {
                JSonWriterTokenType currentToken = _tokens.Peek().TokenType;

                if (currentToken == expected)
                    throw new JSonWriterException(expected, currentToken, false);

                return _tokens.Peek();
            }

            return null;
        }
예제 #8
0
        private JSonWriterTokenInfo VerifyTopTokenEqualTo(JSonWriterTokenType expected1, JSonWriterTokenType expected2)
        {
            JSonWriterTokenType currentToken = JSonWriterTokenType.Nothing;

            if (_tokens.Count > 0)
                currentToken = _tokens.Peek().TokenType;

            if (currentToken != expected1 && currentToken != expected2)
            {
                if (currentToken != expected1)
                    throw new JSonWriterException(expected1, currentToken);
                throw new JSonWriterException(expected2, currentToken);
            }

            if (_tokens.Count > 0)
                return _tokens.Peek();

            return null;
        }
예제 #9
0
        private JSonWriterTokenInfo VerifyTopTokenEqualTo(JSonWriterTokenType expected)
        {
            if (_tokens.Count == 0)
                throw new JSonWriterException(expected, JSonWriterTokenType.Nothing);

            JSonWriterTokenType currentToken = _tokens.Peek().TokenType;

            if (currentToken != expected)
                throw new JSonWriterException(expected, currentToken);

            if (_tokens.Count > 0)
                return _tokens.Peek();

            return null;
        }
예제 #10
0
        private JSonWriterTokenInfo VerifyTopTokenEqualToAndDequeue(JSonWriterTokenType expected)
        {
            JSonWriterTokenType currentToken = JSonWriterTokenType.Nothing;
            JSonWriterTokenInfo t = null;

            if (_tokens.Count > 0)
            {
                t = _tokens.Pop();
                currentToken = t.TokenType;
            }

            if (currentToken != expected)
                throw new JSonWriterException(expected, currentToken);

            return t;
        }
예제 #11
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(string message, JSonWriterTokenType expected, JSonWriterTokenType spot)
     : base(message)
 {
     ExpectedToken = expected;
     SpotToken     = spot;
 }
예제 #12
0
 public JSonWriterTokenInfo(JSonWriterTokenType tokenType, int level)
 {
     TokenType = tokenType;
     Level = level;
     ItemsCount = 0;
 }
예제 #13
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(JSonWriterTokenType expected, JSonWriterTokenType spot, bool equals)
     : this(string.Format(CultureInfo.InvariantCulture, "Expected {0}: {1}, while spot: {2}.", equals ? "token" : "different token than", expected, spot), expected, spot)
 {
 }
예제 #14
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(JSonWriterTokenType expected, JSonWriterTokenType spot)
     : this(expected, spot, true)
 {
 }
예제 #15
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(JSonWriterTokenType expected, JSonWriterTokenType spot)
     : this(expected, spot, true)
 {
 }
예제 #16
0
 /// <summary>
 /// Init constructor.
 /// </summary>
 public JSonWriterException(JSonWriterTokenType expected, JSonWriterTokenType spot, bool equals)
     : this(string.Format(CultureInfo.InvariantCulture, "Expected {0}: {1}, while spot: {2}.", equals ? "token" : "different token than", expected, spot), expected, spot)
 {
 }
예제 #17
0
 public JSonWriterTokenInfo(JSonWriterTokenType tokenType, int level)
 {
     TokenType  = tokenType;
     Level      = level;
     ItemsCount = 0;
 }