public Kv1TextReader(TextReader textReader, IParsingVisitationListener listener, KvSerializerOptions options) { Require.NotNull(textReader, nameof(textReader)); Require.NotNull(listener, nameof(listener)); Require.NotNull(options, nameof(options)); _listener = listener; _options = options; _conditionEvaluator = new KvConditionEvaluator(options.Conditions); _tokenReader = new Kv1TokenReader(textReader, options); _stateMachine = new Kv1TextReaderStateMachine(); }
public KV1TextReader(TextReader textReader, IParsingVisitationListener listener, KVSerializerOptions options) { Require.NotNull(textReader, nameof(textReader)); Require.NotNull(listener, nameof(listener)); Require.NotNull(options, nameof(options)); this.listener = listener; this.options = options; conditionEvaluator = new KVConditionEvaluator(options.Conditions); tokenReader = new KV1TokenReader(textReader, options); stateMachine = new KV1TextReaderStateMachine(); }
private IVisitingReader MakeReader(Stream stream, IParsingVisitationListener listener, KvSerializerOptions options) { Require.NotNull(stream, nameof(stream)); Require.NotNull(listener, nameof(listener)); Require.NotNull(options, nameof(options)); switch (_format) { case KvSerializationFormat.KeyValues1Text: return(new Kv1TextReader(new StreamReader(stream), listener, options)); case KvSerializationFormat.KeyValues1Binary: return(new Kv1BinaryReader(stream, listener, options)); default: throw new ArgumentOutOfRangeException(nameof(_format), _format, "Invalid serialization format."); } }