logic: fixed recording type of rvalue reference as "&&" instead of "&"
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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>"));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user