Deserialize annotations on value parameters of functions

This commit is contained in:
Alexander Udalov
2013-10-21 20:05:38 +04:00
parent 4105455179
commit 938a906bcd
24 changed files with 395 additions and 43 deletions
@@ -141,7 +141,7 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass {
@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
final AnnotationVisitor v = memberVisitor.visitMethod(Name.guess(name), desc);
final MethodAnnotationVisitor v = memberVisitor.visitMethod(Name.guess(name), desc);
if (v == null) return null;
return new MethodVisitor(ASM4) {
@@ -150,6 +150,12 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass {
return convertAnnotationVisitor(v, desc);
}
@Override
public org.jetbrains.asm4.AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) {
AnnotationArgumentVisitor av = v.visitParameterAnnotation(parameter, classNameFromAsmDesc(desc));
return av == null ? null : convertAnnotationVisitor(av);
}
@Override
public void visitEnd() {
v.visitEnd();