implements ByteCodeGenerator
{
@Override
public ByteCodeNode generateExpression(Signature signature, ByteCodeGeneratorContext context, Type returnType, List<RowExpression> arguments)
{
FunctionRegistry registry = context.getRegistry();
FunctionInfo function = registry.getExactFunction(signature);
if (function == null) {
// TODO: temporary hack to deal with magic timestamp literal functions which don't have an "exact" form and need to be "resolved"
function = registry.resolveFunction(QualifiedName.of(signature.getName()), signature.getArgumentTypes(), false);
}
Preconditions.checkArgument(function != null, "Function %s not found", signature);
List<ByteCodeNode> argumentsByteCode = new ArrayList<>();