Class ApplyFunction.CartesianFoldFunction

  • All Implemented Interfaces:
    ApplyFunction, NamedFunction
    Enclosing interface:
    ApplyFunction

    public static class ApplyFunction.CartesianFoldFunction
    extends ApplyFunction.BaseFoldFunction
    Accumulate a value for the cartesian product of 'n' array inputs arguments with an 'n + 1' argument LambdaExpr. The 'array' input expressions are the first 'n' arguments, the initial value for the accumulator expression is the final argument.
    • Constructor Detail

      • CartesianFoldFunction

        public CartesianFoldFunction()
    • Method Detail

      • name

        public String name()
        Description copied from interface: NamedFunction
        Name of the function
      • getArrayInputs

        public Set<Expr> getArrayInputs​(List<Expr> args)
        Description copied from interface: ApplyFunction
        Get list of input arguments which must evaluate to an array ExprType
      • validateArguments

        public void validateArguments​(LambdaExpr lambdaExpr,
                                      List<Expr> args)
        Description copied from interface: ApplyFunction
        Validate function arguments. This method is called whenever a ApplyFunctionExpr is created, and should validate everything that is feasible up front. Note that input type information is typically unavailable at the time Expr are parsed, and so this method is incapable of performing complete validation.