Example #1
0
 public ExpressionReturnType getReturnType(EventType eventType, ExprNode[] parameters) {
   if (this == SCALAR) {
     return ExpressionReturnType.singleValue(parameters[0].getExprEvaluator().getType());
   }
   if (this == ENUM_EVENT) {
     return ExpressionReturnType.collectionOfEvents(eventType);
   }
   if (this == COLL_SCALAR) {
     return ExpressionReturnType.collectionOfSingleValue(
         parameters[0].getExprEvaluator().getType());
   }
   if (this == ARR_SCALAR) {
     return ExpressionReturnType.array(parameters[0].getExprEvaluator().getType());
   }
   if (this == SINGLE_EVENT_1 || this == SINGLE_EVENT_2) {
     return ExpressionReturnType.singleEvent(eventType);
   }
   throw new RuntimeException("Return type not supported for " + this);
 }
 @Override
 public ExpressionReturnType getTypeInfo() {
   return ExpressionReturnType.collectionOfSingleValue(method.getReturnType().getComponentType());
 }