問題タブ [javaparser]
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.
java - javaparser でバイナリ部分式を取得する方法
javaparserを使用して、Java ソース ファイルの AST を解析しています。
ソース コード内のすべてのバイナリ部分式を個別のノードとして取得したいと考えています。これが私が解析しているソースコードです:
組み込みの BinaryExp 型を受け入れる Visitor を実装しましたが、見つかった唯一のノードにはバイナリ式が含まれています。
部分式「(4 / 10.0)」にもアクセスする方法はありますか? 完全な式の「左オペランド」を取得しようとしましたが、式のタイプであり、予想どおり BinaryExpr ではありません。
どんな助けでも大歓迎です。
java - Javaparser: 1 つのメソッドですべてのノード タイプにアクセスする
Javaparserを使用して Java ソース コードを解析しています。
抽象 Node クラスにアクセスできる Visitor を実装する方法はありますか?
すべてのノードにアクセスしてその行番号を出力したいのですが、非常に多くのタイプがあるため、すべてのノード タイプ (AssignExpr、BinaryExpr、IfStmt など) に対して visit() メソッドを実装したくありません。
java - Java の文字列パーサー ロジック
以下のような文字列があります。これは、AND/OR/NOT 条件をいくつか追加するだけでさらに拡張できますが、構文は維持されます。
この文字列を解析する必要があります。この文字列を JSON オブジェクトとして変換することに部分的に成功しました。しかし、完全にはできませんでした。
java - Java パーサーを使用して Java ファイルから属性を解析する
私は以下の3つのクラスを持っています。
次の情報を持つJavaパーサーを使用してクラスを解析したい:
- クラス名
- メソッド名
- 属性名
android - JsonObject を使用した JsonArray の解析
次の構造の JSON があります。
次のJavaコードを使用して、要素「product_id」および「price_id」にアクセスしようとしています:
しかし、製品が見つからないというエラーが表示されます。パーサーの何が問題なのですか?
java - Java コードからメソッド呼び出しを抽出する
Java コードからすべてのメソッド呼び出しを抽出したいと考えています。次の 2 つの正規表現を記述しましたが、すべてのメソッド呼び出しを抽出することはできません。
Reg1 :Pattern.compile("([a-zA-Z][0-9_a-zA-Z]*\\([a-zA-Z0-9_\\s,\\[\\]\\(\\)\\.]+\\))");
Reg2 :Pattern.compile("([a-zA-Z][0-9_a-zA-Z]*\\([\\s]*\\))")
入力:
出力:
" " を抽出できませんencode
。
正規表現に何を追加すればよいか、誰にも考えがありますか?
java - メソッドスコープJavaで重複変数をチェック
FileReader
メソッドを含むJavaファイルを読みました。メソッドスコープ(内部のメソッド領域)を読み取って重複変数を見つけるにはどうすればよいですか?
たとえば、これは私が読んだ Java ファイルです。
メソッドのスコープを知るにはどうすればいいですか?つまり、{ と } の間を意味します。スコープが見つかった場合は、上記の例 (int _nn) のような重複した変数を見つけます。
[追加] Javaパーサーを使用してみましたが、成功です。次に、リストを使用して結果を送信する必要がありますが、リストの最後のメソッドのみです。コードの何が問題になっていますか?
これは MethodVisitor です:
次に、これは MethodVisitor を呼び出すメソッドです。