aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorDaniel Grumberg <dgrumberg@apple.com>2022-07-14 13:53:50 +0100
committerDaniel Grumberg <dgrumberg@apple.com>2022-07-27 11:03:34 +0100
commitd3fc779e4295b0bf726008580ddd99c8e86c2c0c (patch)
tree0b6080be3875d8e1e1ed7ef048027fadf7759ced /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parent7f0387de4c600af185b2db8d748f530444fe03cd (diff)
downloadllvm-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.cpp11
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");