예제 #1
0
 @Override
 public void visitInnerClass(String name, String outerName,
         String innerName, int access) {
     // TODO should innerName be changed?
     super.visitInnerClass(remapper.mapType(name), outerName == null ? null
             : remapper.mapType(outerName), innerName, access);
 }
예제 #2
0
 @Override
 public void visit(int version, int access, String name, String signature,
         String superName, String[] interfaces) {
     this.className = name;
     super.visit(version, access, remapper.mapType(name), remapper
             .mapSignature(signature, false), remapper.mapType(superName),
             interfaces == null ? null : remapper.mapTypes(interfaces));
 }
 public void visitTryCatchBlock(Label start, Label end, Label handler, String type) {
   super.visitTryCatchBlock(
       start,
       end,
       handler, //
       type == null ? null : remapper.mapType(type));
 }
예제 #4
0
 @Override
 public void visitOuterClass(String owner, String name, String desc) {
   super.visitOuterClass(
       remapper.mapType(owner),
       name == null ? null : remapper.mapMethodName(owner, name, desc),
       desc == null ? null : remapper.mapMethodDesc(desc));
 }
 public void visitMethodInsn(int opcode, String owner, String name, String desc) {
   super.visitMethodInsn(
       opcode,
       remapper.mapType(owner),
       remapper.mapMethodName(owner, name, desc),
       remapper.mapMethodDesc(desc));
 }
 @Override
 public void visitFieldInsn(int opcode, String owner, String name, String desc) {
   super.visitFieldInsn(
       opcode,
       remapper.mapType(owner),
       remapper.mapFieldName(owner, name, desc),
       remapper.mapDesc(desc));
 }
 private Object[] remapEntries(int n, Object[] entries) {
   for (int i = 0; i < n; i++) {
     if (entries[i] instanceof String) {
       Object[] newEntries = new Object[n];
       if (i > 0) {
         System.arraycopy(entries, 0, newEntries, 0, i);
       }
       do {
         Object t = entries[i];
         newEntries[i++] = t instanceof String ? remapper.mapType((String) t) : t;
       } while (i < n);
       return newEntries;
     }
   }
   return entries;
 }
 private void doVisitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
   // Calling super.visitMethodInsn requires to call the correct version
   // depending on this.api (otherwise infinite loops can occur). To
   // simplify and to make it easier to automatically remove the backward
   // compatibility code, we inline the code of the overridden method here.
   // IMPORTANT: THIS ASSUMES THAT visitMethodInsn IS NOT OVERRIDDEN IN
   // LocalVariableSorter.
   if (mv != null) {
     mv.visitMethodInsn(
         opcode,
         remapper.mapType(owner),
         remapper.mapMethodName(owner, name, desc),
         remapper.mapMethodDesc(desc),
         itf);
   }
 }
예제 #9
0
 @Override
 public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
   AnnotationVisitor av;
   av = super.visitAnnotation(remapper.mapType(desc), visible);
   return av == null ? null : createRemappingAnnotationAdapter(av);
 }
 public void visitInnerClassType(String name) {
   className = className + '$' + name;
   String remappedName = remapper.mapType(className);
   v.visitInnerClassType(remappedName.substring(remappedName.lastIndexOf('$') + 1));
 }
 public void visitClassType(String name) {
   className = name;
   v.visitClassType(remapper.mapType(name));
 }
 public void visitTypeInsn(int opcode, String type) {
   super.visitTypeInsn(opcode, remapper.mapType(type));
 }