src: Template Argument Handling

* improved handling of template arguments
This commit is contained in:
malte_langkabel
2015-11-19 16:30:59 +01:00
parent 4e6fdaf79c
commit bbf9c43909
7 changed files with 163 additions and 253 deletions
+14 -4
View File
@@ -2766,12 +2766,22 @@ private:
return 0;
}
virtual Id onTemplateArgumentTypeParsed(
const ParseLocation& location, const NameHierarchy& templateArgumentTypeNameHierarchy,
const NameHierarchy& templateRecordNameHierarchy)
virtual Id onTemplateArgumentTypeOfTemplateRecordParsed(
const ParseLocation& location, const NameHierarchy& argumentNameHierarchy,
const NameHierarchy& templateNameHierarchy)
{
templateArgumentTypes.push_back(
addLocationSuffix(templateRecordNameHierarchy.getFullName() + "->" + templateArgumentTypeNameHierarchy.getFullName(), location)
addLocationSuffix(templateNameHierarchy.getFullName() + "->" + argumentNameHierarchy.getFullName(), location)
);
return 0;
}
virtual Id onTemplateArgumentTypeOfTemplateFunctionParsed(
const ParseLocation& location, const NameHierarchy& argumentNameHierarchy,
const ParseFunction& templateFunction)
{
templateArgumentTypes.push_back(
addLocationSuffix(templateFunction.getFullName() + "->" + argumentNameHierarchy.getFullName(), location)
);
return 0;
}