< prev index next >

src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ClassRemapper.java

Print this page
rev 47452 : imported patch jdk-new-asmv6.patch

*** 57,70 **** --- 57,74 ---- * THE POSSIBILITY OF SUCH DAMAGE. */ package jdk.internal.org.objectweb.asm.commons; + import java.util.List; + import jdk.internal.org.objectweb.asm.AnnotationVisitor; + import jdk.internal.org.objectweb.asm.Attribute; import jdk.internal.org.objectweb.asm.ClassVisitor; import jdk.internal.org.objectweb.asm.FieldVisitor; import jdk.internal.org.objectweb.asm.MethodVisitor; + import jdk.internal.org.objectweb.asm.ModuleVisitor; import jdk.internal.org.objectweb.asm.Opcodes; import jdk.internal.org.objectweb.asm.TypePath; /** * A {@link ClassVisitor} for type remapping.
*** 76,86 **** protected final Remapper remapper; protected String className; public ClassRemapper(final ClassVisitor cv, final Remapper remapper) { ! this(Opcodes.ASM5, cv, remapper); } protected ClassRemapper(final int api, final ClassVisitor cv, final Remapper remapper) { super(api, cv); --- 80,90 ---- protected final Remapper remapper; protected String className; public ClassRemapper(final ClassVisitor cv, final Remapper remapper) { ! this(Opcodes.ASM6, cv, remapper); } protected ClassRemapper(final int api, final ClassVisitor cv, final Remapper remapper) { super(api, cv);
*** 95,104 **** --- 99,114 ---- .mapSignature(signature, false), remapper.mapType(superName), interfaces == null ? null : remapper.mapTypes(interfaces)); } @Override + public ModuleVisitor visitModule(String name, int flags, String version) { + ModuleVisitor mv = super.visitModule(remapper.mapModuleName(name), flags, version); + return mv == null ? null : createModuleRemapper(mv); + } + + @Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { AnnotationVisitor av = super.visitAnnotation(remapper.mapDesc(desc), visible); return av == null ? null : createAnnotationRemapper(av); }
*** 110,119 **** --- 120,141 ---- remapper.mapDesc(desc), visible); return av == null ? null : createAnnotationRemapper(av); } @Override + public void visitAttribute(Attribute attr) { + if (attr instanceof ModuleHashesAttribute) { + ModuleHashesAttribute hashesAttr = new ModuleHashesAttribute(); + List<String> modules = hashesAttr.modules; + for(int i = 0; i < modules.size(); i++) { + modules.set(i, remapper.mapModuleName(modules.get(i))); + } + } + super.visitAttribute(attr); + } + + @Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { FieldVisitor fv = super.visitField(access, remapper.mapFieldName(className, name, desc), remapper.mapDesc(desc), remapper.mapSignature(signature, true),
*** 156,161 **** --- 178,187 ---- } protected AnnotationVisitor createAnnotationRemapper(AnnotationVisitor av) { return new AnnotationRemapper(av, remapper); } + + protected ModuleVisitor createModuleRemapper(ModuleVisitor mv) { + return new ModuleRemapper(mv, remapper); + } }
< prev index next >