IBytecodeResolvable enumType = context.getResolutionPool().resolve(Enum.class.getName());
IBytecodeResolvable annoType = context.getResolutionPool().resolve(Enum.class.getName());
Map<String, AnnotationValue> values = ba.getValues();
for (String name : values.keySet()) {
AnnotationValue value = values.get(name);
IBytecodeResolvable avt = context.getResolutionPool().resolve( value.getValue().getClass().getName() );
if (avt.isInstanceof(context.getResolutionPool(), enumType)) {
// TODO: support enums
} else if (avt.getType().isArray() &&
context.getResolutionPool().resolve(
avt.getType().getComponentType().getClassName()
).isInstanceof(context.getResolutionPool(), annoType)) {
// TODO: support annotation arrays
} else {
av.visit(name, value.getValue());
}
}
av.visitEnd();
}