return ExprDotNodeUtility.getSingleLambdaParamEventType(enumMethodUsedName, goesToNames, inputEventType, collectionComponentType);
}
public EnumEval getEnumEval(MethodResolutionService methodResolutionService, EventAdapterService eventAdapterService, StreamTypeService streamTypeService, String statementId, String enumMethodUsedName, List<ExprDotEvalParam> bodiesAndParameters, EventType inputEventType, Class collectionComponentType, int numStreamsIncoming, boolean disablePropertyExpressionEventCollCache) {
super.setTypeInfo(ExpressionReturnType.singleValue(Map.class));
ExprDotEvalParamLambda first = (ExprDotEvalParamLambda) bodiesAndParameters.get(0);
if (bodiesAndParameters.size() == 2) {
ExprDotEvalParamLambda second = (ExprDotEvalParamLambda) bodiesAndParameters.get(1);
if (inputEventType == null) {
return new EnumEvalGroupByKeyValueSelectorScalarLambda(first.getBodyEvaluator(), first.getStreamCountIncoming(), second.getBodyEvaluator(),
(ObjectArrayEventType) first.getGoesToTypes()[0]);
}
return new EnumEvalGroupByKeyValueSelectorEvents(first.getBodyEvaluator(), first.getStreamCountIncoming(), second.getBodyEvaluator());
}
if (inputEventType == null) {
return new EnumEvalGroupByKeySelectorScalarLambda(first.getBodyEvaluator(), first.getStreamCountIncoming(),
(ObjectArrayEventType) first.getGoesToTypes()[0]);
}