0
好吧,那麼。我正在嘗試在ASM 4.0的ClassNode中重命名方法。ASM 4.0,ClassNode中的重命名方法
這是我的重命名類:
public class RenameVisitor extends ClassVisitor {
private String newName,oldName;
public RenameVisitor(String newName,String oldName){
super(Opcodes.ASM4);
this.newName = newName;
this.oldName = oldName;
}
@Override
public MethodVisitor visitMethod(int access, String name,
String desc, String signature, String[] exceptions) {
if(name.contains(oldName)){
System.out.println(newName);
return cv.visitMethod(access,newName,desc,signature,exceptions);
}
return cv.visitMethod(access, name, desc, signature, exceptions);
}
}
現在,我怎麼會用這個來命名的classnode的方法呢? 我嘗試了一些事情,如:
ClassVisitor rv = new RenameVisitor(mn.name,"_"+mn.name);//mn is the method node being tested
ClassReader cr = new ClassReader(node.name);
cr.accept(rv,0);
它總是拋出該類無法找到一個錯誤。我需要做什麼以便它可以讀取ClassNode ..?