私はJasminコードにコンパイルし、それをアセンブルして、Java から Java バイトコードへのコンパイラを作成しています。ソースコードファイルがJavaライブラリクラスを参照して使用できるようにすることを意図して作成しています(文字列、印刷などにはほとんど必要です)。私の問題は、これをどのように行うかです。
ここまでは、Java インストール フォルダー内のテキスト ファイルに保持されているすべてのライブラリ クラスのリストへの参照を使用してきました (パッケージと名前がリストされているだけです)。パーサー/タイプ チェッカーのコーディングに使用しましたが、ライブラリ クラスが使用されたときにタイプ チェッカーがタイプ チェックを実行できなかったため、これは理想的とは言えませんでした。
ライブラリ クラスのメソッドを呼び出したい場合は、完全なメソッド シグネチャ (私がアクセスできないもの) を指定する必要があるため、コード生成に取り組んでいるので、これは本当に問題です。
どのように進歩するかについて人々のアドバイスが何であるかをさまよっていました。1 つの方法は、すべてのクラスを調べて、すべてのパラメーターと戻り値の型のデータベース/リストを作成することです。これは明らかに非常に時間がかかり、おそらくあまりにも非現実的です。他のよりエレガントなアプローチが可能ですか?
ありがとう、ウィル
PS私はこれをコーディングするためにPythonを使用しています。ソリューションで Java コードを使用する必要がある場合は、それをサブプロセスとして実行できると思います。