public void OnSliceExpression(int?start, int?stop, int?step) { Prolog(); var sliceExpression = new JmesPathSliceProjection(start, stop, step); expressions_.Push(sliceExpression); }
private void Assert(int?[] numbers, string input, string expected) { System.Diagnostics.Debug.Assert(numbers.Length == 3); JmesPathExpression expression = new JmesPathSliceProjection( numbers[0], numbers[1], numbers[2] ); Assert(expression, input, expected); }
private void OnSliceExpression(Token start, Token stop, Token step) { Prolog(); System.Diagnostics.Debug.Assert(start == null || start is NumberToken); System.Diagnostics.Debug.Assert(stop == null || stop is NumberToken); System.Diagnostics.Debug.Assert(step == null || step is NumberToken); var startIndex = (int?)start?.Value; var stopIndex = (int?)stop?.Value; var stepIndex = (int?)step?.Value; var sliceExpression = new JmesPathSliceProjection(startIndex, stopIndex, stepIndex); expressions_.Push(sliceExpression); }