public static DiffRange Parse(IStringReader reader) { var range = new DiffRange(); reader.Skip("@@"); reader.SkipWhitespace(); reader.Skip('-'); range.LeftFrom = reader.ReadInt(); if (reader.Skip(',')) { range.LeftTo = range.LeftFrom + reader.ReadInt(); } else { range.LeftTo = range.LeftFrom; } reader.SkipWhitespace(); reader.Skip('+'); range.RightFrom = reader.ReadInt(); if (reader.Skip(',')) { range.RightTo = range.RightFrom + reader.ReadInt(); } else { range.RightTo = range.RightFrom; } reader.SkipWhitespace(); reader.Skip("@@"); return(range); }
///<exception cref="CommandSyntaxException" /> public override int Parse(IStringReader reader) { var start = reader.Cursor; var result = reader.ReadInt(); if (result < Minimum) { reader.Cursor = start; throw CommandSyntaxException.BuiltInExceptions.IntegerTooLow().CreateWithContext(reader, result, Minimum); } if (result > Maximum) { reader.Cursor = start; throw CommandSyntaxException.BuiltInExceptions.IntegerTooHigh().CreateWithContext(reader, result, Maximum); } return(result); }
public static DiffRange Parse(IStringReader reader) { var range = new DiffRange(); reader.Skip("@@"); reader.SkipWhitespace(); reader.Skip('-'); range.LeftFrom = reader.ReadInt(); if (reader.Skip(',')) { range.LeftTo = range.LeftFrom + reader.ReadInt(); } else { range.LeftTo = range.LeftFrom; } reader.SkipWhitespace(); reader.Skip('+'); range.RightFrom = reader.ReadInt(); if (reader.Skip(',')) { range.RightTo = range.RightFrom + reader.ReadInt(); } else { range.RightTo = range.RightFrom; } reader.SkipWhitespace(); reader.Skip("@@"); return range; }