这个社区中有没有使用过 BCEL 的专家,可以指导我使用 BCEL 调用方法 就像我们使用 java 反射一样。
注意:为了支持您的答案,任何类型的书籍或网络引用都将成为帮助的重要来源。
现在我看到了一个名为 Visitor 的界面包含方法 visitInvokeInstruction() 现在有没有一种方法可以让我调用这些指令(在堆栈上形成一个方法)。
希望这段代码能给大家提供很多我想要的解释。
提前致谢
最佳答案
最好的方法是使用 BCELifier,这是 BCEL 附带的一个类,它接受一个类文件并发出使用 BCEL 发出该类文件的源代码 - 本质上,它不会将类文件反编译为字节码或原始 Java 源代码,而是发出该类文件所需的 BCEL 代码。
对于您的情况,只需编写一个简单的虚拟类,其中包含您想要生成的代码,然后运行 BCELifier 并检查结果。
关于java - 使用 BCEL 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5946915/