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