Exemple #1
0
            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);
            }
Exemple #2
0
        ///<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);
        }
Exemple #3
0
 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;
 }