1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 04:55:22 +02:00

Bug 486618 - Name resolution problem with alias template

Corrected previous fix attempt.

Change-Id: Ie8e5425387a3b0d7d6f0558f5a36f1b8d379aa78
This commit is contained in:
Sergey Prigogin 2016-01-30 22:11:55 -08:00
parent 1548dc7cf4
commit 3fbf9980ad

View file

@ -2844,13 +2844,12 @@ public class CPPTemplates {
if (unknown instanceof ICPPUnknownMemberClassInstance && result instanceof ICPPTemplateDefinition) {
ICPPTemplateArgument[] args1 = instantiateArguments(
((ICPPUnknownMemberClassInstance) unknown).getArguments(), tpMap, packOffset, within, point, false);
if (result instanceof ICPPAliasTemplate) {
IType aliasedType = ((ICPPAliasTemplate) result).getType();
if (aliasedType instanceof IBinding)
result = (IBinding) aliasedType;
}
if (result instanceof ICPPClassTemplate) {
result = instantiate((ICPPClassTemplate) result, args1, point);
} else if (result instanceof ICPPAliasTemplate) {
ICPPAliasTemplate aliasTemplate = (ICPPAliasTemplate) result;
IType type= instantiateType(aliasTemplate.getType(), tpMap, -1, getSpecializationContext(within), point);
result = new CPPAliasTemplateInstance(aliasTemplate.getNameCharArray(), aliasTemplate, type);
}
}
}