Package org.objectweb.asm.commons
Class ClassRemapper
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.objectweb.asm.commons.ClassRemapper
-
public class ClassRemapper extends org.objectweb.asm.ClassVisitor
AClassVisitor
that remaps types with aRemapper
.This visitor has several limitations. A non-exhaustive list is the following:
- it cannot remap type names in dynamically computed strings (remapping of type names in static values is supported).
- it cannot remap values derived from type names at compile time, such as
- type name hashcodes used by some Java compilers to implement the string switch statement.
- some compound strings used by some Java compilers to implement lambda deserialization.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ClassRemapper(int api, org.objectweb.asm.ClassVisitor classVisitor, Remapper remapper)
Constructs a newClassRemapper
.ClassRemapper(org.objectweb.asm.ClassVisitor classVisitor, Remapper remapper)
Constructs a newClassRemapper
.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.objectweb.asm.AnnotationVisitor
createAnnotationRemapper(java.lang.String descriptor, org.objectweb.asm.AnnotationVisitor annotationVisitor)
Constructs a new remapper for annotations.protected org.objectweb.asm.AnnotationVisitor
createAnnotationRemapper(org.objectweb.asm.AnnotationVisitor annotationVisitor)
Deprecated.usecreateAnnotationRemapper(String, AnnotationVisitor)
instead.protected org.objectweb.asm.FieldVisitor
createFieldRemapper(org.objectweb.asm.FieldVisitor fieldVisitor)
Constructs a new remapper for fields.protected org.objectweb.asm.MethodVisitor
createMethodRemapper(org.objectweb.asm.MethodVisitor methodVisitor)
Constructs a new remapper for methods.protected org.objectweb.asm.ModuleVisitor
createModuleRemapper(org.objectweb.asm.ModuleVisitor moduleVisitor)
Constructs a new remapper for modules.protected org.objectweb.asm.RecordComponentVisitor
createRecordComponentRemapper(org.objectweb.asm.RecordComponentVisitor recordComponentVisitor)
Constructs a new remapper for record components.void
visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
org.objectweb.asm.AnnotationVisitor
visitAnnotation(java.lang.String descriptor, boolean visible)
void
visitAttribute(org.objectweb.asm.Attribute attribute)
org.objectweb.asm.FieldVisitor
visitField(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)
void
visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)
org.objectweb.asm.MethodVisitor
visitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
org.objectweb.asm.ModuleVisitor
visitModule(java.lang.String name, int flags, java.lang.String version)
void
visitNestHost(java.lang.String nestHost)
void
visitNestMember(java.lang.String nestMember)
void
visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
void
visitPermittedSubclass(java.lang.String permittedSubclass)
org.objectweb.asm.RecordComponentVisitor
visitRecordComponent(java.lang.String name, java.lang.String descriptor, java.lang.String signature)
org.objectweb.asm.AnnotationVisitor
visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String descriptor, boolean visible)
-
-
-
Field Detail
-
remapper
protected final Remapper remapper
The remapper used to remap the types in the visited class.
-
className
protected java.lang.String className
The internal name of the visited class.
-
-
Constructor Detail
-
ClassRemapper
public ClassRemapper(org.objectweb.asm.ClassVisitor classVisitor, Remapper remapper)
Constructs a newClassRemapper
. Subclasses must not use this constructor. Instead, they must use theClassRemapper(int,ClassVisitor,Remapper)
version.- Parameters:
classVisitor
- the class visitor this remapper must delegate to.remapper
- the remapper to use to remap the types in the visited class.
-
ClassRemapper
protected ClassRemapper(int api, org.objectweb.asm.ClassVisitor classVisitor, Remapper remapper)
Constructs a newClassRemapper
.- Parameters:
api
- the ASM API version supported by this remapper. Must be one ofOpcodes.ASM4
,Opcodes.ASM5
,Opcodes.ASM6
,Opcodes.ASM7
,Opcodes.ASM8
orOpcodes.ASM9
.classVisitor
- the class visitor this remapper must delegate to.remapper
- the remapper to use to remap the types in the visited class.
-
-
Method Detail
-
visit
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
- Overrides:
visit
in classorg.objectweb.asm.ClassVisitor
-
visitModule
public org.objectweb.asm.ModuleVisitor visitModule(java.lang.String name, int flags, java.lang.String version)
- Overrides:
visitModule
in classorg.objectweb.asm.ClassVisitor
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String descriptor, boolean visible)
- Overrides:
visitAnnotation
in classorg.objectweb.asm.ClassVisitor
-
visitTypeAnnotation
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String descriptor, boolean visible)
- Overrides:
visitTypeAnnotation
in classorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute)
- Overrides:
visitAttribute
in classorg.objectweb.asm.ClassVisitor
-
visitRecordComponent
public org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String name, java.lang.String descriptor, java.lang.String signature)
- Overrides:
visitRecordComponent
in classorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)
- Overrides:
visitField
in classorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
- Overrides:
visitMethod
in classorg.objectweb.asm.ClassVisitor
-
visitInnerClass
public void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)
- Overrides:
visitInnerClass
in classorg.objectweb.asm.ClassVisitor
-
visitOuterClass
public void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
- Overrides:
visitOuterClass
in classorg.objectweb.asm.ClassVisitor
-
visitNestHost
public void visitNestHost(java.lang.String nestHost)
- Overrides:
visitNestHost
in classorg.objectweb.asm.ClassVisitor
-
visitNestMember
public void visitNestMember(java.lang.String nestMember)
- Overrides:
visitNestMember
in classorg.objectweb.asm.ClassVisitor
-
visitPermittedSubclass
public void visitPermittedSubclass(java.lang.String permittedSubclass)
- Overrides:
visitPermittedSubclass
in classorg.objectweb.asm.ClassVisitor
-
createFieldRemapper
protected org.objectweb.asm.FieldVisitor createFieldRemapper(org.objectweb.asm.FieldVisitor fieldVisitor)
Constructs a new remapper for fields. The default implementation of this method returns a newFieldRemapper
.- Parameters:
fieldVisitor
- the FieldVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
createMethodRemapper
protected org.objectweb.asm.MethodVisitor createMethodRemapper(org.objectweb.asm.MethodVisitor methodVisitor)
Constructs a new remapper for methods. The default implementation of this method returns a newMethodRemapper
.- Parameters:
methodVisitor
- the MethodVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
createAnnotationRemapper
@Deprecated protected org.objectweb.asm.AnnotationVisitor createAnnotationRemapper(org.objectweb.asm.AnnotationVisitor annotationVisitor)
Deprecated.usecreateAnnotationRemapper(String, AnnotationVisitor)
instead.Constructs a new remapper for annotations. The default implementation of this method returns a newAnnotationRemapper
.- Parameters:
annotationVisitor
- the AnnotationVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
createAnnotationRemapper
protected org.objectweb.asm.AnnotationVisitor createAnnotationRemapper(java.lang.String descriptor, org.objectweb.asm.AnnotationVisitor annotationVisitor)
Constructs a new remapper for annotations. The default implementation of this method returns a newAnnotationRemapper
.- Parameters:
descriptor
- the descriptor of the visited annotation.annotationVisitor
- the AnnotationVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
createModuleRemapper
protected org.objectweb.asm.ModuleVisitor createModuleRemapper(org.objectweb.asm.ModuleVisitor moduleVisitor)
Constructs a new remapper for modules. The default implementation of this method returns a newModuleRemapper
.- Parameters:
moduleVisitor
- the ModuleVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
createRecordComponentRemapper
protected org.objectweb.asm.RecordComponentVisitor createRecordComponentRemapper(org.objectweb.asm.RecordComponentVisitor recordComponentVisitor)
Constructs a new remapper for record components. The default implementation of this method returns a newRecordComponentRemapper
.- Parameters:
recordComponentVisitor
- the RecordComponentVisitor the remapper must delegate to.- Returns:
- the newly created remapper.
-
-