/// <summary> /// Expects current token is specified kind. /// </summary> /// <param name="expectedTokenKind">The token kind.</param> /// <returns>Current token, or exception thrown if current token is not satisfied.</returns> public JsonToken ExpectToken(JsonTokenKind expectedTokenKind) { if (expectedTokenKind == JsonTokenKind.Eof) { throw new ArgumentException(DiagnosticMessages.JsonReader_ExpectToken_Eof, nameof(expectedTokenKind)); } return(InternalExpectToken(expectedTokenKind)); }
private JsonToken InternalExpectToken(JsonTokenKind expectedTokenKind) { var currentToken = PeekToken(); ConsumeToken(); if ((currentToken.Kind & expectedTokenKind) != currentToken.Kind) { throw new FormatException(DiagnosticMessages.JsonReader_InvalidTokenKind(currentToken.Kind, expectedTokenKind)); } return(currentToken); }
/// <summary> /// Constructor. /// </summary> /// <param name="kind">The token kind.</param> JsonToken(JsonTokenKind kind) : this(kind, String.Empty) { Kind = kind; }
/// <summary> /// Constructor. /// </summary> /// <param name="kind">The token kind.</param> /// <param name="ch">The character to create the token from.</param> public JsonToken(JsonTokenKind kind, char ch) : this() { Text = ch.ToString(); Kind = kind; }
/// <summary> /// Constructor. /// </summary> /// <param name="kind">The token kind.</param> /// <param name="text">The token text.</param> public JsonToken(JsonTokenKind kind, string text) : this() { Text = text; Kind = kind; }
private JsonToken(JsonTokenKind kind, string text) { Kind = kind; Text = text; }