public HoldingContainer renderEnd(ClassGenerator<?> g, HoldingContainer[] inputVariables, JVar[] workspaceJVars){
//If the function's annotation specifies a parameter has to be constant expression, but the HoldingContainer
//for the argument is not, then raise exception.
for(int i =0; i < inputVariables.length; i++){
if (parameters[i].isConstant && !inputVariables[i].isConstant()) {
throw new DrillRuntimeException(String.format("The argument '%s' of Function '%s' has to be constant!", parameters[i].name, this.getRegisteredNames()[0]));
}
}
generateBody(g, BlockType.SETUP, setupBody, inputVariables, workspaceJVars, true);
HoldingContainer c = generateEvalBody(g, inputVariables, evalBody, workspaceJVars);
generateBody(g, BlockType.RESET, resetBody, null, workspaceJVars, false);