Remap inner class names.
This commit is contained in:
parent
4f879545c8
commit
e87c7889c9
@ -73,7 +73,7 @@ import org.objectweb.asm.commons.RemappingAnnotationAdapter;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link ClassVisitor} for type remapping.
|
* A {@link ClassVisitor} for type remapping.
|
||||||
*
|
*
|
||||||
* @author Eugene Kuleshov
|
* @author Eugene Kuleshov
|
||||||
*/
|
*/
|
||||||
public class RemappingClassAdapter extends ClassVisitor {
|
public class RemappingClassAdapter extends ClassVisitor {
|
||||||
@ -81,7 +81,7 @@ public class RemappingClassAdapter extends ClassVisitor {
|
|||||||
protected final CustomRemapper remapper;
|
protected final CustomRemapper remapper;
|
||||||
protected ClassRepo repo;
|
protected ClassRepo repo;
|
||||||
protected String className;
|
protected String className;
|
||||||
|
|
||||||
public RemappingClassAdapter(final ClassVisitor cv, final CustomRemapper remapper, ClassRepo repo) {
|
public RemappingClassAdapter(final ClassVisitor cv, final CustomRemapper remapper, ClassRepo repo) {
|
||||||
this(Opcodes.ASM5, cv, remapper);
|
this(Opcodes.ASM5, cv, remapper);
|
||||||
this.repo = repo;
|
this.repo = repo;
|
||||||
@ -133,9 +133,11 @@ public class RemappingClassAdapter extends ClassVisitor {
|
|||||||
@Override
|
@Override
|
||||||
public void visitInnerClass(String name, String outerName,
|
public void visitInnerClass(String name, String outerName,
|
||||||
String innerName, int access) {
|
String innerName, int access) {
|
||||||
// TODO should innerName be changed?
|
String newName = remapper.mapType(name);
|
||||||
super.visitInnerClass(remapper.mapType(name), outerName == null ? null
|
super.visitInnerClass(newName,
|
||||||
: remapper.mapType(outerName), innerName, access);
|
outerName == null ? null : remapper.mapType(outerName),
|
||||||
|
innerName == null ? null : newName.substring(newName.lastIndexOf(newName.contains("$") ? '$' : '/') + 1),
|
||||||
|
access);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -144,7 +146,7 @@ public class RemappingClassAdapter extends ClassVisitor {
|
|||||||
: remapper.mapMethodName(owner, name, desc),
|
: remapper.mapMethodName(owner, name, desc),
|
||||||
desc == null ? null : remapper.mapMethodDesc(desc));
|
desc == null ? null : remapper.mapMethodDesc(desc));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected FieldVisitor createRemappingFieldAdapter(FieldVisitor sup) {
|
protected FieldVisitor createRemappingFieldAdapter(FieldVisitor sup) {
|
||||||
return new FieldVisitor(Opcodes.ASM5, sup) {
|
return new FieldVisitor(Opcodes.ASM5, sup) {
|
||||||
@Override
|
@Override
|
||||||
@ -191,7 +193,7 @@ public class RemappingClassAdapter extends ClassVisitor {
|
|||||||
AnnotationVisitor av) {
|
AnnotationVisitor av) {
|
||||||
return new RemappingAnnotationAdapter(av, remapper);
|
return new RemappingAnnotationAdapter(av, remapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void visitSource(String source, String debug) {
|
public void visitSource(String source, String debug) {
|
||||||
if (!SpecialSource.kill_source && cv != null) {
|
if (!SpecialSource.kill_source && cv != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user