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