logic: fixed recording type of rvalue reference as "&&" instead of "&"

This commit is contained in:
mlangkabel
2017-10-12 13:10:12 +02:00
parent b5ff43a821
commit 91fc0f4148
37 changed files with 569 additions and 561 deletions
@@ -93,7 +93,6 @@ std::shared_ptr<CxxTypeName> CxxTypeNameResolver::getName(const clang::Type* typ
break;
}
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
typeName = getName(type->getPointeeType());
if (typeName)
@@ -102,6 +101,15 @@ std::shared_ptr<CxxTypeName> CxxTypeNameResolver::getName(const clang::Type* typ
}
break;
}
case clang::Type::RValueReference:
{
typeName = getName(type->getPointeeType());
if (typeName)
{
typeName->addModifier(CxxTypeName::Modifier("&&"));
}
break;
}
case clang::Type::Elaborated:
{
typeName = getName(clang::dyn_cast<clang::ElaboratedType>(type)->getNamedType());