public void ReadForward(ParsingResultNode node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var missingCount = 0; node.Start = GetPosition(); if (node.Length != null) { node.Value = ReadForward(node.Length.Value, out missingCount); } if (node.Value == null) { node.HasError = true; node.Value = ReadToEnd(); throw new ParserException(Invariant($"End of message reached! Missing {missingCount} char(s)!"), node); } }
public ParserException(string message, ParsingResultNode node) : this(message) { Node = node; }