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.