return new ReplacementResult(ret, classesToReload);
}
public static void modifyReloadedClass(ClassFile file, ClassLoader loader, Class<?> oldClass, Set<Class<?>> classToReload) {
BaseClassData b = ClassDataStore.instance().getBaseClassData(loader, Descriptor.toJvmName(file.getName()));
if (b == null) {
throw new RuntimeException("Could not find BaseClassData for " + file.getName());
}
if (!file.getSuperclass().equals(b.getSuperClassName())) {
System.out.println("Superclass changed from " + b.getSuperClassName() + " to " + file.getSuperclass() + " in class " + file.getName());
}
ClassDataBuilder builder = new ClassDataBuilder(b);
AnnotationReplacer.processAnnotations(file, oldClass);
FieldReplacer.handleFieldReplacement(file, loader, oldClass, builder);