public class SignatureBinder extends Object
This implementation has made assumptions. When any of the assumptions is not satisfied, it will fail loudly.
checkNoLiteralVariableUsageAcrossTypes(TypeSignature, Map).
Here are some known implementation limitations:
(decimal(x,2))boolean with arguments decimal(1,0) fails.
It should produce decimal(3,1).
| Constructor and Description |
|---|
SignatureBinder(TypeManager typeManager,
Signature declaredSignature,
boolean allowCoercion) |
| Modifier and Type | Method and Description |
|---|---|
static List<TypeSignature> |
applyBoundVariables(List<TypeSignature> typeSignatures,
BoundVariables boundVariables) |
static Signature |
applyBoundVariables(Signature signature,
BoundVariables boundVariables,
int arity) |
static TypeSignature |
applyBoundVariables(TypeSignature typeSignature,
BoundVariables boundVariables) |
Optional<Signature> |
bind(List<? extends TypeSignatureProvider> actualArgumentTypes) |
Optional<Signature> |
bind(List<? extends TypeSignatureProvider> actualArgumentTypes,
Type actualReturnType) |
Optional<BoundVariables> |
bindVariables(List<? extends TypeSignatureProvider> actualArgumentTypes) |
Optional<BoundVariables> |
bindVariables(List<? extends TypeSignatureProvider> actualArgumentTypes,
Type actualReturnType) |
public SignatureBinder(TypeManager typeManager, Signature declaredSignature, boolean allowCoercion)
public Optional<Signature> bind(List<? extends TypeSignatureProvider> actualArgumentTypes)
public Optional<Signature> bind(List<? extends TypeSignatureProvider> actualArgumentTypes, Type actualReturnType)
public Optional<BoundVariables> bindVariables(List<? extends TypeSignatureProvider> actualArgumentTypes)
public Optional<BoundVariables> bindVariables(List<? extends TypeSignatureProvider> actualArgumentTypes, Type actualReturnType)
public static Signature applyBoundVariables(Signature signature, BoundVariables boundVariables, int arity)
public static List<TypeSignature> applyBoundVariables(List<TypeSignature> typeSignatures, BoundVariables boundVariables)
public static TypeSignature applyBoundVariables(TypeSignature typeSignature, BoundVariables boundVariables)
Copyright © 2012–2019. All rights reserved.