diff options
author | Daniel Grumberg <dgrumberg@apple.com> | 2022-07-14 13:53:50 +0100 |
---|---|---|
committer | Daniel Grumberg <dgrumberg@apple.com> | 2022-07-27 11:03:34 +0100 |
commit | d3fc779e4295b0bf726008580ddd99c8e86c2c0c (patch) | |
tree | 0b6080be3875d8e1e1ed7ef048027fadf7759ced /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp | |
parent | 7f0387de4c600af185b2db8d748f530444fe03cd (diff) | |
download | llvm-d3fc779e4295b0bf726008580ddd99c8e86c2c0c.zip llvm-d3fc779e4295b0bf726008580ddd99c8e86c2c0c.tar.gz llvm-d3fc779e4295b0bf726008580ddd99c8e86c2c0c.tar.bz2 |
[clang][ExtractAPI] Ensure that class properties have a kind of "Type Property"
Generated symbol graphs should distinguish between type properties and instance
properties.
Differential Revision: https://reviews.llvm.org/D130581
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
-rw-r--r-- | clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp index 709b781..6ef7bad 100644 --- a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp +++ b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp @@ -351,7 +351,7 @@ Object serializeSymbolKind(const APIRecord &Record, Language Lang) { Kind["displayName"] = "Instance Variable"; break; case APIRecord::RK_ObjCMethod: - if (dyn_cast<ObjCMethodRecord>(&Record)->IsInstanceMethod) { + if (cast<ObjCMethodRecord>(&Record)->IsInstanceMethod) { Kind["identifier"] = AddLangPrefix("method"); Kind["displayName"] = "Instance Method"; } else { @@ -360,8 +360,13 @@ Object serializeSymbolKind(const APIRecord &Record, Language Lang) { } break; case APIRecord::RK_ObjCProperty: - Kind["identifier"] = AddLangPrefix("property"); - Kind["displayName"] = "Instance Property"; + if (cast<ObjCPropertyRecord>(&Record)->isClassProperty()) { + Kind["identifier"] = AddLangPrefix("type.property"); + Kind["displayName"] = "Type Property"; + } else { + Kind["identifier"] = AddLangPrefix("property"); + Kind["displayName"] = "Instance Property"; + } break; case APIRecord::RK_ObjCInterface: Kind["identifier"] = AddLangPrefix("class"); |