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

      public SimpleRemapper(Map<String,String> mapping)
      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 and attribute 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 internal names, the key is the old internal name, and the value is the new internal name (see Type.getInternalName()).
    • SimpleRemapper

      public SimpleRemapper(String oldName, String newName)
      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()).
  • 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.
    • 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()).