世界!Objective-C メソッドが属するスーパークラスを決定するために libclang を使用しようとしています。インスタンス メソッド (CXCursor_ObjCInstanceMethodDecl) を表すカーソルがあります。カーソルの親を取得すると、種類 CXCursor_ObjCImplementationDecl のカーソルが取得されます。メソッドのスーパークラスを判別するには、この最後のカーソルからインターフェイス カーソルを取得できる必要があります。これを行う方法はありますか?
質問する
240 次
1 に答える
2
clang_getCanonicalCursor()
宣言のカーソルを呼び出すと、@implementation
宣言のカーソルが返されます@interface
。このカーソルの子にアクセスすると、そのスーパークラス参照にアクセスできます。
メソッドのカーソルで使用clang_getOverriddenCursors()
して、スーパークラス、プロトコル、またはカテゴリから別のものをオーバーライドしているかどうかを判断することもできます。
于 2014-05-03T17:48:04.860 に答える