Support object array annotation arguments in deserialization

This commit is contained in:
Alexander Udalov
2014-07-18 19:38:44 +04:00
parent d5681540ec
commit 540b87a1dc
12 changed files with 140 additions and 28 deletions
@@ -157,8 +157,23 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass {
@Override
public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitArray(String name) {
AnnotationArgumentVisitor av = v.visitArray(Name.guess(name));
return av == null ? null : convertAnnotationVisitor(av);
final AnnotationArrayArgumentVisitor arv = v.visitArray(Name.guess(name));
return arv == null ? null : new org.jetbrains.org.objectweb.asm.AnnotationVisitor(ASM5) {
@Override
public void visit(String name, Object value) {
arv.visit(value);
}
@Override
public void visitEnum(String name, String desc, String value) {
arv.visitEnum(classNameFromAsmDesc(desc), Name.identifier(value));
}
@Override
public void visitEnd() {
arv.visitEnd();
}
};
}
@Override