From d3fc779e4295b0bf726008580ddd99c8e86c2c0c Mon Sep 17 00:00:00 2001 From: Daniel Grumberg Date: Thu, 14 Jul 2022 13:53:50 +0100 Subject: [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 --- clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp') 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(&Record)->IsInstanceMethod) { + if (cast(&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(&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"); -- cgit v1.1