Do not use standard desugaring if we need to have the full qualification

git-svn-id: http://root.cern.ch/svn/root/trunk@46047 27541ba8-7e3a-0410-8455-c3a389f83636
This commit is contained in:
Philippe Canal 2012-09-19 12:39:06 +00:00
parent fff6b6404c
commit d754a4e262

View File

@ -105,7 +105,7 @@ namespace utils {
const llvm::SmallSet<const Type*, 4>& TypesToSkip,
bool fullyQualify /*=true*/){
// If there are no constains - use the standard desugaring.
if (!TypesToSkip.size())
if (!TypesToSkip.size() && !fullyQualify)
return QT.getDesugaredType(Ctx);
// In case of Int_t* we need to strip the pointer first, desugar and attach
@ -202,10 +202,11 @@ namespace utils {
// If desugaring happened allocate new type in the AST.
if (mightHaveChanged) {
// This lose any qualifiers in the original QT (intentional for now)
QT = Ctx.getTemplateSpecializationType(TST->getTemplateName(),
desArgs.data(),
desArgs.size(),
TST->getCanonicalTypeInternal());
desArgs.data(),
desArgs.size(),
TST->getCanonicalTypeInternal());
}
}
if (prefix) {