check Argument Validity
fun checkArgumentValidity(functionDeclaration: FunctionDeclaration, functionDeclarationSignature: List<Type>, templateCallExpression: CallExpression, explicitInstantiation: List<ParameterizedType?>): Boolean
Return
true if the instantiation of the template is compatible with the template declaration, false otherwise
Parameters
function Declaration
FunctionDeclaration realization of the template
function Declaration Signature
Signature of the realization FunctionDeclaration, but replacing the ParameterizedTypes with the ones provided in the instantiation
template Call Expression
CallExpression that instantiates the template
explicit Instantiation
list of the explicitly instantiated type parameters