public JsonReader(TextReader reader, JsonParseErrorHandler errorHandler) { this.tokenizer = new JsonTokenizer(reader, errorHandler); this.nodeStack = new Stack <NodeInfo>(); this.state = State.Start; this.errorHandler = CapErrors(errorHandler, DefaultMaxErrors); }
public JsonTokenizer(TextReader reader, JsonParseErrorHandler errorHandler, int bufferSize) { this.reader = reader; buffer = new char[bufferSize]; this.bufferPos = 0; this.bufferEnd = 0; this.bufferTokenStart = 0; this.line = 1; this.column = 1; this.errorHandler = errorHandler; }
JsonParseErrorHandler CapErrors(JsonParseErrorHandler handler, int maxErrors) { int c = 0; return ((error, location) => { if (c++ > maxErrors) { return false; } return handler(error, location); }); }
public JsonTokenizer(TextReader reader, JsonParseErrorHandler errorHandler) : this(reader, errorHandler, DefaultBufferSize) { }