public virtual void Parse(LookaheadTextReader input, ParserVisitor visitor) { ParserResults results = ParseCore(new SeekableTextReader(input)); // Replay the results on the visitor visitor.Visit(results); }
public virtual Task CreateParseTask(TextReader input, ParserVisitor consumer) { return(new Task(() => { try { Parse(input, consumer); } catch (OperationCanceledException) { return; // Just return if we're cancelled. } })); }
public static void Visit(this ParserVisitor self, ParserResults result) { if (self == null) { throw new ArgumentNullException("self"); } if (result == null) { throw new ArgumentNullException("result"); } result.Document.Accept(self); foreach (RazorError error in result.ParserErrors) { self.VisitError(error); } self.OnComplete(); }
public virtual void Parse(TextReader input, ParserVisitor visitor) { Parse(new SeekableTextReader(input), visitor); }