javassist не может установить суперкласс для класса, который реализует универсальный интерфейс - PullRequest
0 голосов
/ 27 апреля 2018

javassist не может установить суперкласс для класса, который реализует универсальный интерфейс

код типа:

public interface A<T>{
   T a();
}
public class Base {
  //....
}
public class B extends Base implements A<String> {
 //...
}


public class C extends Base {

}

код javassist, подобный этому:

CtClass c = pool.getCtClass("com.test.B");
if (c.isFrozen()) {
    c.defrost();
} 
if (c.getSuperclass().getName().equals("com.test.Base")) {
    c.setSuperclass(pool.getCtClass("com.test.C"));
}

Я хочу установить класс C в качестве суперкласса для класса B от javassist, но это не работает!

...