@Override public MethodHandle resolve(Map<String, Type> types, TypeManager typeManager, FunctionRegistry functionRegistry) { Signature signature = bindSignature(this.signature, types, this.signature.getArgumentTypes().size()); return functionRegistry.getScalarFunctionImplementation(signature).getMethodHandle(); } }
continue; Signature signature = bindSignature(function.getSignature(), boundParameters, resolvedTypes.size()); if (signature != null) { checkArgument(match == null, "Ambiguous call to %s with parameters %s", name, parameterTypes); continue; Signature signature = bindSignature(function.getSignature(), boundParameters, resolvedTypes.size()); if (signature != null) { Map<String, Type> boundParameters = fieldReference.getSignature().bindTypeParameters(resolvedTypes, true, typeManager); if (boundParameters != null) { return bindSignature(fieldReference.getSignature(), boundParameters, resolvedTypes.size());
@Override public ScalarFunctionImplementation specialize(Map<String, Type> types, int arity, TypeManager typeManager, FunctionRegistry functionRegistry) Signature boundSignature = bindSignature(getSignature(), types, arity); if (exactImplementations.containsKey(boundSignature)) { Implementation implementation = exactImplementations.get(boundSignature);