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());
+1 -1
View File
@@ -1400,7 +1400,7 @@ public:
TS_ASSERT(utility::containsElement<std::string>(client->methods, "public void TestClass::TestClass() <1:7 <1:7 1:15> 1:15>"));
TS_ASSERT(utility::containsElement<std::string>(client->methods, "public void TestClass::TestClass(const TestClass &) <1:7 <1:7 1:15> 1:15>"));
TS_ASSERT(utility::containsElement<std::string>(client->methods, "public void TestClass::TestClass(TestClass &) <1:7 1:15>"));
TS_ASSERT(utility::containsElement<std::string>(client->methods, "public void TestClass::TestClass(TestClass &&) <1:7 1:15>"));
}
///////////////////////////////////////////////////////////////////////////////