protected override IParseResult TryGetTokenWithoutNullCheck(IStringStream inputStream, out IToken token) { inputStream.Pop(); var interval = new IntegerInterval(); interval.TrySetValue(0, 1); token = new IntegerIntervalToken(interval, _initialStreamPosition, 1); return(new SuccessParseResult()); }
protected override IParseResult TryGetTokenWithoutNullCheck(IStringStream inputStream, out IToken token) { token = null; var intervalResult = _primitiveParser.TryParseIntegerInterval(inputStream); if (!intervalResult.IsSuccess) { return(intervalResult); } var rangeTokenLength = (int)(inputStream.CurrentPosition - _initialStreamPosition); token = new IntegerIntervalToken(intervalResult.Value, inputStream.CurrentPosition, rangeTokenLength); return(new SuccessParseResult()); }