Java字节码ASM-处理被替换的类中的子类引用的最佳方法?

问题描述

我只是用SimpleRemapper替换了一个类,只是为了更改该类的名称。但是,我遇到了一个类的问题,该类的方法具有对子类的引用。例如,

public class Target {
  public void func(TargetSubclass other) {
    assert (other.isinstanceOf[Target]) 
  }
}

Target类成为ClonedTarget后,由于TargetSubclass类不是ClonedTarget的子代,因此失败。

处理此问题的最佳方法是什么?

我当时正在考虑动态检测此类,并创建一个克隆来扩展当前类(ClonedTargetSubclass extends ClonedTarget)的克隆。但是我意识到,如果TargetSubclass不是Target的直系孩子,而是一个好孩子等,这可能会变得复杂。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)