protected override Func <ExprDotEvalParamLambda, EPType> InitAndSingleParamReturnType( EventType inputEventType, Type collectionComponentType) { if (inputEventType != null) { return(lambda => EPTypeHelper.Array(lambda.BodyForge.EvaluationType)); } return(lambda => EPTypeHelper.Array(collectionComponentType)); }
public static EPType GetReturnType(this SupportAggMFFunc value, EventType eventType, ExprNode[] parameters) { if (value == SupportAggMFFunc.SCALAR) { return(EPTypeHelper.SingleValue(parameters[0].ExprEvaluator.ReturnType)); } if (value == SupportAggMFFunc.ENUM_EVENT) { return(EPTypeHelper.CollectionOfEvents(eventType)); } if (value == SupportAggMFFunc.COLL_SCALAR) { return(EPTypeHelper.CollectionOfSingleValue(parameters[0].ExprEvaluator.ReturnType)); } if (value == SupportAggMFFunc.ARR_SCALAR) { return(EPTypeHelper.Array(parameters[0].ExprEvaluator.ReturnType)); } if (value == SupportAggMFFunc.SINGLE_EVENT_1 || value == SupportAggMFFunc.SINGLE_EVENT_2) { return(EPTypeHelper.SingleEvent(eventType)); } throw new ArgumentException("Return type not supported for " + value); }
protected override EPType InitAndNoParamsReturnType( EventType inputEventType, Type collectionComponentType) { return(EPTypeHelper.Array(collectionComponentType)); }