我正在通过编译为Jasmin代码并组装它来编写 Java 到 Java 字节码编译器。我创建它的目的是使源代码文件能够引用和使用 Java 库类(对于字符串、打印等,您几乎必须这样做)。我的问题是如何去做这件事。
到目前为止,我一直在使用对所有库类列表的引用,该列表保存在 Java 安装文件夹中的文本文件中(它只是列出了它们的包和名称)。我已经在对解析器/类型检查器进行编码时使用了它,尽管这不太理想,因为在使用库类时类型检查器无法进行任何类型检查。
现在我正在处理代码生成,这确实是一个问题,因为如果你想调用库类的方法,你必须给它完整的方法签名——我无法访问的东西。
我在徘徊人们对如何进步的建议。一种方法是遍历所有类,创建一个包含所有参数和返回类型的数据库/列表。这显然会非常耗时,而且可能太不切实际。还有其他更优雅的方法吗?
谢谢,威尔
PS我正在使用Python对此进行编码。我想如果解决方案必须使用 Java 代码,我可以将它作为子进程运行。