如何使用 BCEL 重命名事物?到目前为止,我所做的是遍历类中的每个方法并在常量池中创建一个新的 NameAndType 常量,然后用那个替换旧的 NameAndType 常量
int nameRef = cpg.addNameAndType(newName, m.getSignature());
cpg.setConstant(m.getNameIndex(), cpg.getConstant(nameRef));
这似乎应该可以工作,但我的反编译器告诉我常量池在此之后已损坏。我错过了一步还是什么?