C++ コードのフォーマット エラーを検出するスクリプトを作成しています。(たとえば、すべてのメンバー変数に接頭辞が付けられていることを確認しますm_
)。私がやりたいことの 1 つは、ポインターである型の型にアスタリスクが付いていることを確認することです ( int* num
, not int *num
)。
そのため、ソース コードにある型のテキストを取得する必要があります。ただし、カーソルまたはタイプのスペルを取得すると、きれいに印刷されたバージョンが返されます。int *
ソースに が含まれていても、常に が返されますint*
。
これを回避するために、カーソルの範囲を取得し、ソース ファイルから部分文字列を取得して確認します。ただし、タイプの範囲を取得する方法がないように思われるため、実際のスペルを取得できませんか? これを行う方法はありますか?おそらく、型のトークンを取得してから、それらの範囲を取得することでしょうか?
(私は Python バインディングを使用していますが、必要に応じて C API に切り替えることができます)