Type returnType = type(returnTypeAnnotation);
Signature signature = new Signature(name.toLowerCase(), returnType, parameterTypes(method));
verifyMethodSignature(method, signature.getReturnType(), signature.getArgumentTypes());
scalar(signature, methodHandle, scalarFunction.deterministic(), getDescription(method), scalarFunction.hidden(), method.isAnnotationPresent(Nullable.class));
for (String alias : scalarFunction.alias()) {
scalar(signature.withAlias(alias.toLowerCase()), methodHandle, scalarFunction.deterministic(), getDescription(method), scalarFunction.hidden(), method.isAnnotationPresent(Nullable.class));
}
return true;
}