問題タブ [java-compiler-api]

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 投票する
5 に答える
12942 参照

java - Javaがステートメントの最後にダブルセミコロンのエラーを表示しないのはなぜですか?

誤って、最後に2つのセミコロンを含むJavaステートメントを記述しました。Javaコンパイラはエラーを表示せず、実行されます。

コード:

学習目的で、セミコロンの後に別の文字を追加しようとしましたが、Javaコンパイラはコンパイル時エラーをトークン ")"の構文エラーとして表示しました。このトークンを削除してください

この文:

Javaがセミコロンと他の文字を異なるものとして扱うのはなぜですか?

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

java - ファイルからクラスを取得する

私はソースコードを持っており、これsourceには2つのclasses参照があります。

compile今、私はこのコードを経由したいのですJavaCompilerが、したがって、最初に参照されている2つをコンパイルする必要がありますclasses

ファイルを読み取ってクラスを検索し、最初にそれらをコンパイルするよりも良い方法はありますか?

XTest.javaとYTest.javaは、Suiteと同じディレクトリにあります。

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

java - Eclipse->New Android Projects は常に Java 1.4 をコンパイルします

Eclipse ワークスペース内でプロジェクトを追加/作成またはコピーするたびに、Java 1.4 プロジェクトとして認識され、エラーが発生します。プロパティ-> Java-compilerでこれを自分で修正し、そこで1.6をチェックする必要があります。そこで、いくつか質問があります。Eclipse が選択する必要があるコンパイラーを事前に定義することは可能ですか? どのコンパイラを選択するかをEclipseに伝える構成ファイルはありますか?

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

java - コンパイル ユニット ビジター - Java コンパイラ ツリー API

コンパイラ Tree API を使用してコードを解析して AST に変換していますが、visitCompilationUnit メソッドが呼び出されず、visitClass メソッドが呼び出されません。何が間違っていますか?

2 番目の質問: コンパイルされたコードを切り捨てるようにコンパイラに指示する方法はありますか (クラス ファイルではなく、AST のみに関心があります)。

ありがとう。

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

java - 物理ファイルを作成せずに動的コンパイル

JavaコンパイラAPIを介してJavaクラスを動的に生成するチュートリアルに従います。コードは機能しますが、プログラムがコンパイル後にクラスファイルを作成することがわかります。

呼び出し後compilerTask.call();にクラスファイルを作成しないことは可能ですか?はいの場合、それを行う方法は?

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

java - .java ファイルをコンパイルするための Java プログラムの開発

私は自分のプロジェクトを含むプロジェクトを研究して、十分に単純なJavaファイルをコンパイルしています。私の研究から、時間がかかりすぎるため、独自のコンパイラを作成しようとしないことにしました。

プログラムに送信されたJavaファイルをコンパイルできるように、このプロジェクトに実装するのに最適なコンパイラは何か知っている人はいますか?

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

java - Java コンパイラ API の制限

より制限されたバージョンの Java を使用するゲーム内コード IDE を作成することを考えています。たとえば、I/O ストリーム API を使用したくありません。これは可能ですか?

また、 inb4 this . それはまだ能力を制限するのには役立ちません.愚かな/邪悪な学生だけです.XD.

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

java - Java コンパイラ ツリー API: NPE

別のツリーパススキャナーでメソッド本体にアクセスしようとしていますが、TreePath コンストラクターで常に NPE を取得するため、どのパラメーターを渡すかわかりません。

例外:

助けてくれてありがとう。

0 投票する
0 に答える
285 参照

java - コンパイラ ツリー api: 完全修飾名を取得

Java ソースの解析に Java コンパイラ ツリー API を使用しています。

現在、次の問題に遭遇しました。タイプ「Foo」のインポートされた変数を使用するメソッドがあるとします。クラス Foo は、いくつかのパッケージに似ています。

このクラスの完全修飾名を取得する方法はありますか?

私は考えます

  • インポートされた場合、その簡単な検索よりも
  • しかし、それは同じパッケージにある可能性があり(これはコンパイラを知っているはずですか?)、したがってインポートされません
  • または、外部ライブラリにあり、ワイルドカードを使用してリンクされている可能性もあります-検索できないよりも。

この問題の解決策はありますか?

ありがとう。