[PATCH] D66298: [clang-doc] Fix records in global namespace
This revision was automatically updated to reflect the committed changes. Closed by commit rL369123: [clang-doc] Fix records in global namespace (authored by DiegoAstiazaran, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D66298?vs=215537=215618#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66298/new/ https://reviews.llvm.org/D66298 Files: clang-tools-extra/trunk/clang-doc/Serialize.cpp clang-tools-extra/trunk/test/clang-doc/single-file-public.cpp clang-tools-extra/trunk/unittests/clang-doc/SerializeTest.cpp Index: clang-tools-extra/trunk/unittests/clang-doc/SerializeTest.cpp === --- clang-tools-extra/trunk/unittests/clang-doc/SerializeTest.cpp +++ clang-tools-extra/trunk/unittests/clang-doc/SerializeTest.cpp @@ -137,7 +137,9 @@ 10, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType = TagTypeKind::TTK_Class; ExpectedE.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, E); @@ -150,6 +152,8 @@ EConstructor.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); EConstructor.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); EConstructor.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + EConstructor.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); EConstructor.Access = AccessSpecifier::AS_public; EConstructor.IsMethod = true; ExpectedRecordWithEConstructor.ChildFunctions.emplace_back( @@ -164,13 +168,17 @@ Method.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); Method.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); Method.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + Method.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); Method.Access = AccessSpecifier::AS_protected; Method.IsMethod = true; ExpectedRecordWithMethod.ChildFunctions.emplace_back(std::move(Method)); CheckRecordInfo(, RecordWithMethod); RecordInfo *F = InfoAsRecord(Infos[4].get()); - RecordInfo ExpectedF(EmptySID, "F"); + RecordInfo ExpectedF(EmptySID, /*Name=*/"F", /*Path=*/"GlobalNamespace"); + ExpectedF.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedF.TagType = TagTypeKind::TTK_Struct; ExpectedF.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, F); @@ -183,6 +191,8 @@ TemplateMethod.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); TemplateMethod.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); TemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + TemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); TemplateMethod.Access = AccessSpecifier::AS_public; TemplateMethod.IsMethod = true; ExpectedRecordWithTemplateMethod.ChildFunctions.emplace_back( @@ -201,6 +211,8 @@ llvm::SmallString<16>{"test.cpp"}); SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); SpecializedTemplateMethod.Access = AccessSpecifier::AS_public; SpecializedTemplateMethod.IsMethod = true; ExpectedTemplatedRecord.ChildFunctions.emplace_back( @@ -208,7 +220,9 @@ CheckRecordInfo(, TemplatedRecord); RecordInfo *G = InfoAsRecord(Infos[8].get()); - RecordInfo ExpectedG(EmptySID, "G"); + RecordInfo ExpectedG(EmptySID, /*Name=*/"G", /*Path=*/"GlobalNamespace"); + ExpectedG.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedG.TagType = TagTypeKind::TTK_Struct; ExpectedG.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); ExpectedG.IsTypeDef = true; @@ -248,7 +262,9 @@ ExtractInfosFromCode("class E;", 2, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType = TagTypeKind::TTK_Class;
[PATCH] D66298: [clang-doc] Fix records in global namespace
DiegoAstiazaran updated this revision to Diff 215537. DiegoAstiazaran marked 2 inline comments as done. DiegoAstiazaran added a comment. Fix tests that were going to fail in Windows. Fix tests broken after rebasing. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66298/new/ https://reviews.llvm.org/D66298 Files: clang-tools-extra/clang-doc/Serialize.cpp clang-tools-extra/test/clang-doc/single-file-public.cpp clang-tools-extra/unittests/clang-doc/SerializeTest.cpp Index: clang-tools-extra/unittests/clang-doc/SerializeTest.cpp === --- clang-tools-extra/unittests/clang-doc/SerializeTest.cpp +++ clang-tools-extra/unittests/clang-doc/SerializeTest.cpp @@ -137,7 +137,9 @@ 10, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType = TagTypeKind::TTK_Class; ExpectedE.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, E); @@ -150,6 +152,8 @@ EConstructor.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); EConstructor.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); EConstructor.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + EConstructor.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); EConstructor.Access = AccessSpecifier::AS_public; EConstructor.IsMethod = true; ExpectedRecordWithEConstructor.ChildFunctions.emplace_back( @@ -164,13 +168,17 @@ Method.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); Method.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); Method.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + Method.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); Method.Access = AccessSpecifier::AS_protected; Method.IsMethod = true; ExpectedRecordWithMethod.ChildFunctions.emplace_back(std::move(Method)); CheckRecordInfo(, RecordWithMethod); RecordInfo *F = InfoAsRecord(Infos[4].get()); - RecordInfo ExpectedF(EmptySID, "F"); + RecordInfo ExpectedF(EmptySID, /*Name=*/"F", /*Path=*/"GlobalNamespace"); + ExpectedF.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedF.TagType = TagTypeKind::TTK_Struct; ExpectedF.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, F); @@ -183,6 +191,8 @@ TemplateMethod.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); TemplateMethod.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); TemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + TemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); TemplateMethod.Access = AccessSpecifier::AS_public; TemplateMethod.IsMethod = true; ExpectedRecordWithTemplateMethod.ChildFunctions.emplace_back( @@ -201,6 +211,8 @@ llvm::SmallString<16>{"test.cpp"}); SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); SpecializedTemplateMethod.Access = AccessSpecifier::AS_public; SpecializedTemplateMethod.IsMethod = true; ExpectedTemplatedRecord.ChildFunctions.emplace_back( @@ -208,7 +220,9 @@ CheckRecordInfo(, TemplatedRecord); RecordInfo *G = InfoAsRecord(Infos[8].get()); - RecordInfo ExpectedG(EmptySID, "G"); + RecordInfo ExpectedG(EmptySID, /*Name=*/"G", /*Path=*/"GlobalNamespace"); + ExpectedG.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedG.TagType = TagTypeKind::TTK_Struct; ExpectedG.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); ExpectedG.IsTypeDef = true; @@ -248,7 +262,9 @@ ExtractInfosFromCode("class E;", 2, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType = TagTypeKind::TTK_Class; ExpectedE.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, E); @@ -259,7 +275,9 @@ ExtractInfosFromCode("struct E { int I; };", 2, /*Public=*/false, Infos);
[PATCH] D66298: [clang-doc] Fix records in global namespace
juliehockett added inline comments. Comment at: clang-tools-extra/unittests/clang-doc/SerializeTest.cpp:299 RecordInfo *G = InfoAsRecord(Infos[2].get()); - RecordInfo ExpectedG(EmptySID, /*Name=*/"G", /*Path=*/"E"); + RecordInfo ExpectedG(EmptySID, /*Name=*/"G", /*Path=*/"GlobalNamespace/E"); ExpectedG.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); Native path? Comment at: clang-tools-extra/unittests/clang-doc/SerializeTest.cpp:434 ExpectedParentB.ChildRecords.emplace_back(EmptySID, "B", InfoType::IT_record, -"A"); +"GlobalNamespace/A"); CheckRecordInfo(, ParentB); Native path? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66298/new/ https://reviews.llvm.org/D66298 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D66298: [clang-doc] Fix records in global namespace
DiegoAstiazaran created this revision. DiegoAstiazaran added reviewers: juliehockett, jakehehrlich. DiegoAstiazaran added a project: clang-tools-extra. When a Record is declared in the global namespace, clang-doc serializes it as a child of the global namespace, so the global namespace is now one if its parent namespaces. This namespace was not being included in the list of namespaces of the Info causing paths to be incorrect and the index rendered incorrectly. Affected tests have been fixed. https://reviews.llvm.org/D66298 Files: clang-tools-extra/clang-doc/Serialize.cpp clang-tools-extra/test/clang-doc/single-file-public.cpp clang-tools-extra/unittests/clang-doc/SerializeTest.cpp Index: clang-tools-extra/unittests/clang-doc/SerializeTest.cpp === --- clang-tools-extra/unittests/clang-doc/SerializeTest.cpp +++ clang-tools-extra/unittests/clang-doc/SerializeTest.cpp @@ -136,7 +136,9 @@ 10, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType = TagTypeKind::TTK_Class; ExpectedE.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, E); @@ -149,6 +151,8 @@ EConstructor.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); EConstructor.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); EConstructor.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + EConstructor.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); EConstructor.Access = AccessSpecifier::AS_public; EConstructor.IsMethod = true; ExpectedRecordWithEConstructor.ChildFunctions.emplace_back( @@ -163,13 +167,17 @@ Method.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); Method.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); Method.Namespace.emplace_back(EmptySID, "E", InfoType::IT_record); + Method.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); Method.Access = AccessSpecifier::AS_protected; Method.IsMethod = true; ExpectedRecordWithMethod.ChildFunctions.emplace_back(std::move(Method)); CheckRecordInfo(, RecordWithMethod); RecordInfo *F = InfoAsRecord(Infos[4].get()); - RecordInfo ExpectedF(EmptySID, "F"); + RecordInfo ExpectedF(EmptySID, /*Name=*/"F", /*Path=*/"GlobalNamespace"); + ExpectedF.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedF.TagType = TagTypeKind::TTK_Struct; ExpectedF.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); CheckRecordInfo(, F); @@ -182,6 +190,8 @@ TemplateMethod.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); TemplateMethod.Loc.emplace_back(0, llvm::SmallString<16>{"test.cpp"}); TemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + TemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", +InfoType::IT_namespace); TemplateMethod.Access = AccessSpecifier::AS_public; TemplateMethod.IsMethod = true; ExpectedRecordWithTemplateMethod.ChildFunctions.emplace_back( @@ -200,6 +210,8 @@ llvm::SmallString<16>{"test.cpp"}); SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "F", InfoType::IT_record); + SpecializedTemplateMethod.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); SpecializedTemplateMethod.Access = AccessSpecifier::AS_public; SpecializedTemplateMethod.IsMethod = true; ExpectedTemplatedRecord.ChildFunctions.emplace_back( @@ -207,7 +219,9 @@ CheckRecordInfo(, TemplatedRecord); RecordInfo *G = InfoAsRecord(Infos[8].get()); - RecordInfo ExpectedG(EmptySID, "G"); + RecordInfo ExpectedG(EmptySID, /*Name=*/"G", /*Path=*/"GlobalNamespace"); + ExpectedG.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedG.TagType = TagTypeKind::TTK_Struct; ExpectedG.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"}); ExpectedG.IsTypeDef = true; @@ -247,7 +261,9 @@ ExtractInfosFromCode("class E;", 2, /*Public=*/false, Infos); RecordInfo *E = InfoAsRecord(Infos[0].get()); - RecordInfo ExpectedE(EmptySID, "E"); + RecordInfo ExpectedE(EmptySID, /*Name=*/"E", /*Path=*/"GlobalNamespace"); + ExpectedE.Namespace.emplace_back(EmptySID, "GlobalNamespace", + InfoType::IT_namespace); ExpectedE.TagType =