public Collection < String > calculateUDFDependees ( ) { List < String > answer = new ArrayList <> ( ) ; Collection < AbstractExpression > fCalls = findAllSubexpressionsOfClass ( FunctionExpression . class ) ; for ( AbstractExpression fCall : fCalls ) { FunctionExpression fexpr = ( FunctionExpression ) fCall ; if ( fexpr . isUserDefined ( ) ) { answer . add ( fexpr . getFunctionName ( ) ) ; } } return answer ; }
Calculate the UDF dependees . These are the UDFs called in an expression in this procedure .