Ctags: C:関数が変数として検出されました

作成日 2016年06月29日  ·  3コメント  ·  ソース: universal-ctags/ctags

こんにちは、

ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02aは、Wiresharkライブラリのヘッダーepan /except.hで変数として関数を検出します。

WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

コマンド

ctags -x --c-kinds=fpvx --language-force=c epan/except.h | grep except_unhandled_catcher

戻り値:

except_t variable 100 epan/except.h WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

ただし、これは関数except_unhandled_catcherです(戻り値の型とパラメーターの型はどちらも関数ポインターです)。

ありがとうございました。

Parser buenhancement

最も参考になるコメント

うわあ...この構文は難しいです:D
私はそれを理解しようとします。

全てのコメント3件

私はこれを確認することができ、古いCパーサーがそれを正しく理解したことを確認できます。 WS_DLL_PUBLIC無視/削除しても、どちらの場合も何も変わりません。

$ ./ctags -x --OldC-kinds=+pv --languages=OldC /tmp/1012.c
except_unhandled_catcher prototype     1 /tmp/1012.c      WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

うわあ...この構文は難しいです:D
私はそれを理解しようとします。

これは#1119で修正する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価