Class FrameRemapper

  • All Implemented Interfaces:
    MappingProcessor

    public class FrameRemapper
    extends java.lang.Object
    implements MappingProcessor
    This class accumulates mapping information and then transforms stack frames accordingly.
    • Constructor Summary

      Constructors 
      Constructor Description
      FrameRemapper()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean processClassMapping​(java.lang.String className, java.lang.String newClassName)
      Processes the given class name mapping.
      void processFieldMapping​(java.lang.String className, java.lang.String fieldType, java.lang.String fieldName, java.lang.String newClassName, java.lang.String newFieldName)
      Processes the given field name mapping.
      void processMethodMapping​(java.lang.String className, int firstLineNumber, int lastLineNumber, java.lang.String methodReturnType, java.lang.String methodName, java.lang.String methodArguments, java.lang.String newClassName, int newFirstLineNumber, int newLastLineNumber, java.lang.String newMethodName)
      Processes the given method name mapping.
      java.util.List<FrameInfo> transform​(FrameInfo obfuscatedFrame)
      Transforms the given obfuscated frame back to one or more original frames.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FrameRemapper

        public FrameRemapper()
    • Method Detail

      • transform

        public java.util.List<FrameInfo> transform​(FrameInfo obfuscatedFrame)
        Transforms the given obfuscated frame back to one or more original frames.
      • processClassMapping

        public boolean processClassMapping​(java.lang.String className,
                                           java.lang.String newClassName)
        Description copied from interface: MappingProcessor
        Processes the given class name mapping.
        Specified by:
        processClassMapping in interface MappingProcessor
        Parameters:
        className - the original class name.
        newClassName - the new class name.
        Returns:
        whether the processor is interested in receiving mappings of the class members of this class.
      • processFieldMapping

        public void processFieldMapping​(java.lang.String className,
                                        java.lang.String fieldType,
                                        java.lang.String fieldName,
                                        java.lang.String newClassName,
                                        java.lang.String newFieldName)
        Description copied from interface: MappingProcessor
        Processes the given field name mapping.
        Specified by:
        processFieldMapping in interface MappingProcessor
        Parameters:
        className - the original class name.
        fieldType - the original external field type.
        fieldName - the original field name.
        newClassName - the new class name.
        newFieldName - the new field name.
      • processMethodMapping

        public void processMethodMapping​(java.lang.String className,
                                         int firstLineNumber,
                                         int lastLineNumber,
                                         java.lang.String methodReturnType,
                                         java.lang.String methodName,
                                         java.lang.String methodArguments,
                                         java.lang.String newClassName,
                                         int newFirstLineNumber,
                                         int newLastLineNumber,
                                         java.lang.String newMethodName)
        Description copied from interface: MappingProcessor
        Processes the given method name mapping.
        Specified by:
        processMethodMapping in interface MappingProcessor
        Parameters:
        className - the original class name.
        firstLineNumber - the first line number of the method, or 0 if it is not known.
        lastLineNumber - the last line number of the method, or 0 if it is not known.
        methodReturnType - the original external method return type.
        methodName - the original external method name.
        methodArguments - the original external method arguments.
        newClassName - the new class name.
        newFirstLineNumber - the new first line number of the method, or 0 if it is not known.
        newLastLineNumber - the new last line number of the method, or 0 if it is not known.
        newMethodName - the new method name.