-
Notifications
You must be signed in to change notification settings - Fork 14.8k
[clang-doc] simplify filename selection for namespaces #162885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
@llvm/pr-subscribers-clang-tools-extra Author: Erick Velez (evelez7) ChangesdetermineFileName was confusing regarding namespaces. The comment and Full diff: https://github.com/llvm/llvm-project/pull/162885.diff 2 Files Affected:
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index 26794a5e34d02..1b08b1791b6eb 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -582,11 +582,10 @@ static SmallString<16> determineFileName(Info *I, SmallString<128> &Path) {
if (I->IT == InfoType::IT_record) {
auto *RecordSymbolInfo = static_cast<SymbolInfo *>(I);
FileName = RecordSymbolInfo->MangledName;
- } else if (I->IT == InfoType::IT_namespace && I->Name != "")
- // Serialize the global namespace as index.json
- FileName = I->Name;
+ } else if (I->USR == GlobalNamespace)
+ FileName = "index";
else
- FileName = I->getFileBaseName();
+ FileName = I->Name;
sys::path::append(Path, FileName + ".json");
return FileName;
}
diff --git a/clang-tools-extra/clang-doc/Representation.h b/clang-tools-extra/clang-doc/Representation.h
index 2a75f89696b7d..4dd7ce86b9304 100644
--- a/clang-tools-extra/clang-doc/Representation.h
+++ b/clang-tools-extra/clang-doc/Representation.h
@@ -30,6 +30,9 @@ namespace doc {
// SHA1'd hash of a USR.
using SymbolID = std::array<uint8_t, 20>;
+static const SymbolID GlobalNamespace = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+
struct BaseRecordInfo;
struct EnumInfo;
struct FunctionInfo;
|
determineFileName was confusing regarding namespaces. The comment and conditional were both misleading. Now, we just check against a static global namespace USR to make a file use "index", or just use the name.
b345c72
to
17048c0
Compare
determineFileName was confusing regarding namespaces. The comment and conditional were both misleading. Now, we just check against a static global namespace USR to make a file use "index", or just use the name.
determineFileName was confusing regarding namespaces. The comment and
conditional were both misleading. Now, we just check against a static
global namespace USR to make a file use "index", or just use the name.