getTemplateInitializationSignature

fun getTemplateInitializationSignature(functionTemplateDeclaration: FunctionTemplateDeclaration, templateCall: CallExpression, instantiationType: MutableMap<Node?, TemplateDeclaration.TemplateInitialization?>, orderedInitializationSignature: MutableMap<Declaration, Int>, explicitInstantiated: MutableList<ParameterizedType>): Map<Declaration?, Node?>?

Creates a Mapping between the Parameters of the TemplateDeclaration and the Values provided * for the instantiation of the template.

The difference to constructTemplateInitializationSignatureFromTemplateParameters is that this one also takes into account defaults and auto deductions

Additionally, it fills the maps and lists mentioned below:

Return

mapping containing the all elements of the signature of the TemplateDeclaration as key and the Type/Expression the Parameter is initialized with. This function returns null if the {ParameterDeclaration, TypeParameterDeclaration} do not match the provided value for initialization -> initialization not possible

Parameters

functionTemplateDeclaration

functionTemplate we have identified that should be instantiated

templateCall

callExpression that instantiates the template

instantiationType

mapping of the instantiation value to the instantiation type (depends on resolution TemplateDeclaration.TemplateInitialization

orderedInitializationSignature

mapping of the ordering of the template parameters

explicitInstantiated

list of all ParameterizedTypes which are explicitly instantiated