Class RemappingReferenceMapper

java.lang.Object
org.spongepowered.asm.mixin.refmap.RemappingReferenceMapper
All Implemented Interfaces:
IClassReferenceMapper, IReferenceMapper

public final class RemappingReferenceMapper extends Object implements IClassReferenceMapper, IReferenceMapper
This adapter is designed to apply the same remapping used elsewhere in the development chain (RemapperChain) to reference maps.
  • Method Details

    • isDefault

      public boolean isDefault()
      Description copied from interface: IReferenceMapper
      Get whether this mapper is defaulted. Use this flag rather than reference comparison to ReferenceMapper.DEFAULT_MAPPER because of classloader shenanigans
      Specified by:
      isDefault in interface IReferenceMapper
      Returns:
      true if this mapper is a defaulted mapper
    • getResourceName

      public String getResourceName()
      Description copied from interface: IReferenceMapper
      Get the resource name this refmap was loaded from (if available).
      Specified by:
      getResourceName in interface IReferenceMapper
      Returns:
      name of the resource
    • getStatus

      public String getStatus()
      Description copied from interface: IReferenceMapper
      Get a user-readable "status" string for this refmap for use in error messages
      Specified by:
      getStatus in interface IReferenceMapper
      Returns:
      status message
    • getContext

      public String getContext()
      Description copied from interface: IReferenceMapper
      Get the current context
      Specified by:
      getContext in interface IReferenceMapper
      Returns:
      current context key, can be null
    • setContext

      public void setContext(String context)
      Description copied from interface: IReferenceMapper
      Set the current remap context, can be null
      Specified by:
      setContext in interface IReferenceMapper
      Parameters:
      context - remap context
    • remap

      public String remap(String className, String reference)
      Description copied from interface: IReferenceMapper
      Remap a reference for the specified owning class in the current context
      Specified by:
      remap in interface IReferenceMapper
      Parameters:
      className - Owner class
      reference - Reference to remap
      Returns:
      remapped reference, returns original reference if not remapped
    • remapWithContext

      public String remapWithContext(String context, String className, String reference)
      Description copied from interface: IReferenceMapper
      Remap a reference for the specified owning class in the specified context
      Specified by:
      remapWithContext in interface IReferenceMapper
      Parameters:
      context - Remap context to use
      className - Owner class
      reference - Reference to remap
      Returns:
      remapped reference, returns original reference if not remapped
    • of

      public static IReferenceMapper of(MixinEnvironment env, IReferenceMapper refMap)
      Wrap the specified refmap in a remapping adapter using settings in the supplied environment
      Parameters:
      env - environment to read configuration from
      refMap - refmap to wrap
      Returns:
      wrapped refmap or original refmap is srg data is not available
    • remapClassName

      public String remapClassName(String className, String inputClassName)
      Specified by:
      remapClassName in interface IClassReferenceMapper
    • remapClassNameWithContext

      public String remapClassNameWithContext(String context, String className, String remapped)
      Specified by:
      remapClassNameWithContext in interface IClassReferenceMapper