Package com.tonic.renamer.descriptor
Class DescriptorRemapper
- java.lang.Object
-
- com.tonic.renamer.descriptor.DescriptorRemapper
-
public class DescriptorRemapper extends Object
Remaps class references within method and field descriptors.
-
-
Constructor Summary
Constructors Constructor Description DescriptorRemapper(Function<String,String> classMapper)Creates a remapper with the given class name mapping function.DescriptorRemapper(Map<String,String> classMappings)Creates a remapper from a class mapping map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanneedsRemapping(String descriptor)Checks if a descriptor contains any class references that would be remapped.StringremapClassName(String className)Remaps an internal class name (not a descriptor).StringremapFieldDescriptor(String descriptor)Remaps all class references in a field descriptor.StringremapMethodDescriptor(String descriptor)Remaps all class references in a method descriptor.StringremapType(String typeDescriptor)Remaps a single type descriptor.
-
-
-
Method Detail
-
remapMethodDescriptor
public String remapMethodDescriptor(String descriptor)
Remaps all class references in a method descriptor.- Parameters:
descriptor- The method descriptor (e.g., "(Lcom/old/Type;I)V")- Returns:
- The remapped descriptor
-
remapFieldDescriptor
public String remapFieldDescriptor(String descriptor)
Remaps all class references in a field descriptor.- Parameters:
descriptor- The field descriptor (e.g., "Lcom/old/Type;")- Returns:
- The remapped descriptor
-
remapType
public String remapType(String typeDescriptor)
Remaps a single type descriptor.- Parameters:
typeDescriptor- A single type (e.g., "Lcom/old/Type;", "I", "[Lcom/old/Type;")- Returns:
- The remapped type descriptor
-
remapClassName
public String remapClassName(String className)
Remaps an internal class name (not a descriptor).- Parameters:
className- The internal class name (e.g., "com/old/Type")- Returns:
- The remapped class name, or the original if no mapping exists
-
needsRemapping
public boolean needsRemapping(String descriptor)
Checks if a descriptor contains any class references that would be remapped.- Parameters:
descriptor- The descriptor to check- Returns:
- true if the descriptor would change after remapping
-
-