問題タブ [libclang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - libclang を使用した一般化された属性の検査
次の例で、クラス メンバー関数の一般化された属性を解析したいと思います。
foo
libclang C API を使用して、ソース内のと(および属性があるbar
ことを知ってfoo
いる)を区別したいと思います。interesting
これは可能ですか?API で使用されている概念を説明する例やドキュメントを見つけるのに苦労しています (参考文献を見つけましたが、概念が説明されていない場合は使いにくいです)。
c++ - clangで単一のcppファイルのASTを取得するには?
C++ はコンテキスト フリーではないため、ヘッダーがないと完全に正確になることはありません。
「AB(C);」の古典的な例を使用すると、関数宣言またはオブジェクト定義として認識できることを意味します。どちらでも構いません。ファイルを完全に解析する必要があります。
私はコードのセマンティック分析には興味がありません。構文上の分析だけであり、私の知る限り、clang の文法は最高のものの 1 つです。
問題は、いくつかのシナリオでは、clang がタイプを認識していないときにいくつかの宣言を回避していることですが、正しく解析できると思います。
次のケースを参照してください。class.cpp の内容:
clang コマンド ライン アプリケーションの実行:
コンストラクターと最後のメソッドを AST ノードとして認識しているだけです。
完全な AST ツリーを取得する方法はありますか?
ありがとう!
c++ - CLang Libtooling: clang::VarDecl、clang::FieldDecl、または clang::ParmVarDecl 内の変数のデータ型をフェッチする
私はCLang 3.5に取り組んでいます。C++ プロジェクトで宣言された変数に関する情報をフェッチしようとしています。
clang::VarDecl
、clang::FieldDecl
またはclang::ParmVarDecl
オブジェクト内の変数のデータ型または修飾クラス名を取得するにはどうすればよいですか? ここで提供されているドキュメントの変数のデータ型またはクラス名を返すことができる関数を見つけようとしclang::VarDecl
ました。
http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html
$LLVM/tools/clang/tools/clang-check/ClangCheck.cpp
cmd argを渡す--ast-dump
と、宣言されたすべての変数を含むすべてのASTノードに関するすべての情報が表示されるため、コードも調べてみました。そのすべての情報にどのようにアクセスするのだろうか。
私はASTMatchers
自分の変数宣言を見つけるために使用しています。それらは次のとおりです。
宣言されたすべての変数のデータ型を取得する方法を教えてください。