問題タブ [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.

0 投票する
1 に答える
1511 参照

java - JavaParser を使用してメイン メソッド内で呼び出されるメソッドを取得する

JavaParser ライブラリを使用して Java コードを解析し、Java コード トークンにアクセスしています。

以下は私のコードです

以下は、JavaParser (Parse.java) によって読み取られる Java ファイルのコードです。

出力には、parse.java クラスのすべてのメソッド本体の内容が表示されます。しかし、メイン メソッド (つまり、このシナリオでは printFirstName) で呼び出されるメソッドを取得したいのですが、どうすればよいですか?

0 投票する
3 に答える
1276 参照

javaparser - JavaParser を使用して新しいメソッドを解析ファイルに追加する方法は?

Java ファイルを解析し、コンパイル ユニットを取得しました

cu = JavaParser.parse(in);Java ファイル内のCompilationUnit

これを使用して新しいメソッドを追加するにはどうすればよいcuですか?

元のクラスに新しいメソッドを追加したいだけです。

0 投票する
2 に答える
687 参照

java - JavaParserブロックステートメントの元の行サイズを取得する方法は?

コード分​​析プロジェクトに JavaParser を使用しています。そこでは、Java ソース ファイルを読み取り、分析のために AST (抽象構文ツリー) を生成します。AST から特定のブロック ステートメントがまたがる元の行数を特定する必要があります。

基本的に、私は次のような方法を持っています:

そして、またがる行数を返す必要があります。例:

5を返します。

次のように、文字列に変換して行を数えようとしました: new BufferedReader(new StringReader(nodeHere.toString())).lines().count() 、しかし、これは字句保存の欠如のために機能しません...たとえば、単一の行は次のようになります: "class TestClass {int x; int y; int zz (int a){return a;} }" は 10 行になります。

ASTが生成され、文字列に変換されると、本質的に「美化」されます...ただし、JavaParserは範囲プロパティに元の「座標」を保持するため、それを何らかの形で使用できますか?

ありがとう

0 投票する
1 に答える
449 参照

java - メソッドのパラメータのパッケージ名をjavaparserで取得するには?

パラメータPersonパッケージ名を取得するにはどうすればよいですか?パラメータの型しか取得できず、クラス名しか取得できません。