1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 08:55:25 +02:00

Code streamlining.

Change-Id: I00155566d6fd4cb8043ad38201a58181b995c52f
This commit is contained in:
Sergey Prigogin 2016-09-20 13:01:57 -07:00
parent 8159937005
commit fa96519c4c

View file

@ -193,19 +193,18 @@ public abstract class CPPTemplateDefinition extends PlatformObject implements IC
@Override
public ICPPTemplateParameter[] getTemplateParameters() {
if (templateParameters == null) {
ICPPTemplateParameter[] result = ICPPTemplateParameter.EMPTY_TEMPLATE_PARAMETER_ARRAY;
ICPPASTTemplateDeclaration template = CPPTemplates.getTemplateDeclaration(getTemplateName());
if (template == null)
return ICPPTemplateParameter.EMPTY_TEMPLATE_PARAMETER_ARRAY;
ICPPASTTemplateParameter[] params = template.getTemplateParameters();
IBinding p = null;
ICPPTemplateParameter[] result = null;
for (ICPPASTTemplateParameter param : params) {
p= CPPTemplates.getTemplateParameterName(param).resolveBinding();
if (p instanceof ICPPTemplateParameter) {
result = ArrayUtil.append(ICPPTemplateParameter.class, result, (ICPPTemplateParameter) p);
if (template != null) {
ICPPASTTemplateParameter[] params = template.getTemplateParameters();
for (ICPPASTTemplateParameter param : params) {
IBinding p= CPPTemplates.getTemplateParameterName(param).resolveBinding();
if (p instanceof ICPPTemplateParameter) {
result = ArrayUtil.append(result, (ICPPTemplateParameter) p);
}
}
}
templateParameters = ArrayUtil.trim(ICPPTemplateParameter.class, result);
templateParameters = ArrayUtil.trim(result);
}
return templateParameters;
}