Exemple #1
0
        public void OnSliceExpression(int?start, int?stop, int?step)
        {
            Prolog();

            var sliceExpression = new JmesPathSliceProjection(start, stop, step);

            expressions_.Push(sliceExpression);
        }
Exemple #2
0
        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);
        }