gpt4 book ai didi

Java ASM 多次访问一个方法

转载 作者:行者123 更新时间:2023-11-30 09:50:33 25 4
gpt4 key购买 nike

我正在学习许多类(class)并对其进行改造。有些类在我第一次访问它们时没有足够的信息,因此我需要重新访问它们。由于在第一遍时我不知道是否需要重新访问,因此我复制了完整的类并进行了第一遍修改。

我想知道的是是否可以重新访问一个方法并覆盖ClassWriter中的方法

byte[] b...
ClassReader cr = new ClassReader(b);
ClassWriter cw = new ClassWriter(read,0);
ClassAdapter ca = new ClassAdapter(cw);//First pass
cr.accept(ca,0);
ClassAdapter ca2 = new ClassAdapter(cw);//Second Pass
cr.accept(ca2,0);

由于重复的字段和方法声明,此代码的结果将给我验证错误。

最佳答案

您必须使用从 cw 读取的新字节码来初始化一个新的 ClassReader。 toByteArray() .从那里,您将重复其他步骤(新 ClassWriter、新 ClassAdapter 等)

关于Java ASM 多次访问一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5111080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com