Class SimpleRemapper

java.lang.Object
org.objectweb.asm.commons.Remapper
org.objectweb.asm.commons.SimpleRemapper

public class SimpleRemapper extends Remapper
A Remapper using a Map to define its mapping.
  • Constructor Details

    • SimpleRemapper

      @Deprecated public SimpleRemapper(Map<String,String> mapping)
      Deprecated.
      Constructs a new SimpleRemapper with the given mapping.
      Parameters:
      mapping - a map specifying a remapping as follows:
      • for method names, the key is the owner, name and descriptor of the method (in the form <owner>.<name><descriptor>), and the value is the new method name.
      • for invokedynamic method names, the key is the name and descriptor of the method (in the form .<name><descriptor>), and the value is the new method name.
      • for field names, the key is the owner and name of the field or attribute (in the form <owner>.<name>), and the value is the new field name.
      • for attribute names, the key is the annotation descriptor and the name of the attribute (in the form <descriptor>.<name>), and the value is the new attribute name.
      • for internal names, the key is the old internal name, and the value is the new internal name (see Type.getInternalName()).
    • SimpleRemapper

      public SimpleRemapper(int api, Map<String,String> mapping)
      Constructs a new SimpleRemapper with the given mapping.
      Parameters:
      api - the ASM API version supported by this remapper. Must be one of the ASMx values in Opcodes.
      mapping - a map specifying a remapping as follows:
      • for method names, the key is the owner, name and descriptor of the method (in the form <owner>.<name><descriptor>), and the value is the new method name.
      • for invokedynamic method names, the key is the name and descriptor of the method (in the form .<name><descriptor>), and the value is the new method name.
      • for field names, the key is the owner and name of the field or attribute (in the form <owner>.<name>), and the value is the new field name.
      • for attribute names, the key is the annotation descriptor and the name of the attribute (in the form <descriptor>.<name>), and the value is the new attribute name.
      • for internal names, the key is the old internal name, and the value is the new internal name (see Type.getInternalName()).
    • SimpleRemapper

      @Deprecated public SimpleRemapper(String oldName, String newName)
      Deprecated.
      Constructs a new SimpleRemapper with the given mapping.
      Parameters:
      oldName - the key corresponding to a method, field or internal name (see SimpleRemapper(Map) for the format of these keys).
      newName - the new method, field or internal name (see Type.getInternalName()).
    • SimpleRemapper

      public SimpleRemapper(int api, String oldName, String newName)
      Constructs a new SimpleRemapper with the given mapping.
      Parameters:
      api - the ASM API version supported by this remapper. Must be one of the ASMx values in Opcodes.
      oldName - the key corresponding to a method, field or internal name (see SimpleRemapper(Map) for the format of these keys).
      newName - the new method, field or internal name (see Type.getInternalName()).
  • Method Details

    • mapMethodName

      public String mapMethodName(String owner, String name, String descriptor)
      Description copied from class: Remapper
      Maps a method name to its new name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      mapMethodName in class Remapper
      Parameters:
      owner - the internal name of the owner class of the method (see Type.getInternalName()).
      name - the name of the method.
      descriptor - the descriptor of the method.
      Returns:
      the new name of the method.
    • mapInvokeDynamicMethodName

      public String mapInvokeDynamicMethodName(String name, String descriptor)
      Description copied from class: Remapper
      Maps an invokedynamic or a constant dynamic method name to its new name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      mapInvokeDynamicMethodName in class Remapper
      Parameters:
      name - the name of the method.
      descriptor - the descriptor of the method.
      Returns:
      the new name of the method.
    • mapInvokeDynamicMethodName

      public String mapInvokeDynamicMethodName(String name, String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, Object... bootstrapMethodArguments)
      Description copied from class: Remapper
      Maps an invokedynamic or a constant dynamic method name to its new name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      mapInvokeDynamicMethodName in class Remapper
      Parameters:
      name - the name of the method.
      descriptor - the descriptor of the method.
      bootstrapMethodHandle - the bootstrap method.
      bootstrapMethodArguments - the bootstrap method constant arguments. Each argument must be an Integer, Float, Long, Double, String, Type, Handle or ConstantDynamic value. This method is allowed to modify the content of the array so a caller should expect that this array may change.
      Returns:
      the new name of the method.
    • mapAnnotationAttributeName

      public String mapAnnotationAttributeName(String descriptor, String name)
      Description copied from class: Remapper
      Maps an annotation attribute name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      mapAnnotationAttributeName in class Remapper
      Parameters:
      descriptor - the descriptor of the annotation class.
      name - the name of the annotation attribute.
      Returns:
      the new name of the annotation attribute.
    • mapFieldName

      public String mapFieldName(String owner, String name, String descriptor)
      Description copied from class: Remapper
      Maps a field name to its new name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      mapFieldName in class Remapper
      Parameters:
      owner - the internal name of the owner class of the field (see Type.getInternalName()).
      name - the name of the field.
      descriptor - the descriptor of the field.
      Returns:
      the new name of the field.
    • map

      public String map(String key)
      Description copied from class: Remapper
      Maps the internal name of a class to its new name. The default implementation of this method returns the given name, unchanged. Subclasses can override.
      Overrides:
      map in class Remapper
      Parameters:
      key - the internal name of a class (see Type.getInternalName()).
      Returns:
      the new internal name (see Type.getInternalName()).