世界!我试图使用libclang来确定Objective-C方法所属的超类。我有一个表示实例方法的游标(CXCursor_ObjCInstanceMethodDecl)。当我得到光标的父节点时,我得到一个类型为CXCursor_ObjCImplementationDecl的光标。我需要能够从最后一个光标获取接口光标,以确定方法的超类。有没有办法做到这一点?
答案 0 :(得分:2)
在@implementation
声明的游标上调用clang_getCanonicalCursor()
将返回@interface
声明的光标。访问此游标的子节点将提供对其超类引用的访问。
您还可以在游标上使用clang_getOverriddenCursors()
来确定它是否覆盖了超类,协议或类别中的另一个。