generated/runtime/Parser/TokenReader.cs
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ using System; namespace Commvault.Powershell.Runtime.Json { public class TokenReader : IDisposable { private readonly JsonTokenizer tokenizer; private JsonToken current; internal TokenReader(JsonTokenizer tokenizer) { this.tokenizer = tokenizer ?? throw new ArgumentNullException(nameof(tokenizer)); } internal void Next() { current = tokenizer.ReadNext(); } internal JsonToken Current => current; internal void Ensure(TokenKind kind, string readerName) { if (current.Kind != kind) { throw new ParserException($"Expected {kind} while reading {readerName}). Was {current}."); } } public void Dispose() { tokenizer.Dispose(); } } } |