[clang-move] Dump enum and type alias declarations.
Reviewers: ioeric Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28293 llvm-svn: 292098
This commit is contained in:
parent
f4770ea983
commit
85867727fa
|
@ -841,6 +841,12 @@ void ClangMoveTool::onEndOfTranslationUnit() {
|
|||
else if (Kind == Decl::Kind::ClassTemplate ||
|
||||
Kind == Decl::Kind::CXXRecord)
|
||||
Reporter->reportDeclaration(QualifiedName, "Class");
|
||||
else if (Kind == Decl::Kind::Enum)
|
||||
Reporter->reportDeclaration(QualifiedName, "Enum");
|
||||
else if (Kind == Decl::Kind::Typedef ||
|
||||
Kind == Decl::Kind::TypeAlias ||
|
||||
Kind == Decl::Kind::TypeAliasTemplate)
|
||||
Reporter->reportDeclaration(QualifiedName, "TypeAlias");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -535,6 +535,10 @@ TEST(ClangMove, DumpDecls) {
|
|||
"namespace b {\n"
|
||||
"class Move1 { public : void f(); };\n"
|
||||
"void f() {}\n"
|
||||
"enum E1 { Green };\n"
|
||||
"enum class E2 { Red };\n"
|
||||
"typedef int Int2;\n"
|
||||
"using Int = int;\n"
|
||||
"} // namespace b\n"
|
||||
"} // namespace a\n";
|
||||
const char TestCode[] = "#include \"foo.h\"\n";
|
||||
|
@ -545,22 +549,16 @@ TEST(ClangMove, DumpDecls) {
|
|||
Spec.NewHeader = "new_foo.h";
|
||||
Spec.NewCC = "new_foo.cc";
|
||||
DeclarationReporter Reporter;
|
||||
std::vector<DeclarationReporter::DeclarationPair> ExpectedDeclarations = {
|
||||
std::set<DeclarationReporter::DeclarationPair> ExpectedDeclarations = {
|
||||
{"A", "Class"}, {"B", "Class"}, {"a::Move1", "Class"},
|
||||
{"a::f1", "Function"}, {"a::f2", "Function"}, {"a::b::Move1", "Class"},
|
||||
{"a::b::f", "Function"}};
|
||||
{"a::b::f", "Function"}, {"a::b::E1", "Enum"}, {"a::b::E2", "Enum"},
|
||||
{"a::b::Int2", "TypeAlias"}, {"a::b::Int", "TypeAlias"} };
|
||||
runClangMoveOnCode(Spec, TestHeader, TestCode, &Reporter);
|
||||
const auto& Results = Reporter.getDeclarationList();
|
||||
auto ActualDeclIter = Results.begin();
|
||||
auto ExpectedDeclIter = ExpectedDeclarations.begin();
|
||||
while (ActualDeclIter != Results.end() &&
|
||||
ExpectedDeclIter != ExpectedDeclarations.end()) {
|
||||
EXPECT_EQ(*ActualDeclIter, *ExpectedDeclIter);
|
||||
++ActualDeclIter;
|
||||
++ExpectedDeclIter;
|
||||
}
|
||||
ASSERT_TRUE(ActualDeclIter == Results.end());
|
||||
ASSERT_TRUE(ExpectedDeclIter == ExpectedDeclarations.end());
|
||||
std::set<DeclarationReporter::DeclarationPair> Results;
|
||||
for (const auto& DelPair : Reporter.getDeclarationList())
|
||||
Results.insert(DelPair);
|
||||
EXPECT_EQ(ExpectedDeclarations, Results);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
Loading…
Reference in New Issue