libclang:从实现游标获取接口游标

时间:2014-05-01 22:28:02

标签: objective-c cursor implementation superclass libclang

世界!我试图使用libclang来确定Objective-C方法所属的超类。我有一个表示实例方法的游标(CXCursor_ObjCInstanceMethodDecl)。当我得到光标的父节点时,我得到一个类型为CXCursor_ObjCImplementationDecl的光标。我需要能够从最后一个光标获取接口光标,以确定方法的超类。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

@implementation声明的游标上调用clang_getCanonicalCursor()将返回@interface声明的光标。访问此游标的子节点将提供对其超类引用的访问。

您还可以在游标上使用clang_getOverriddenCursors()来确定它是否覆盖了超类,协议或类别中的另一个。