@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); }
@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)); }
@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); } }
@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)); }