Class FrameRemapper
- java.lang.Object
-
- com.ss.android.ugc.bytex.common.retrace.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 booleanprocessClassMapping(java.lang.String className, java.lang.String newClassName)Processes the given class name mapping.voidprocessFieldMapping(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.voidprocessMethodMapping(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.
-
-
-
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:MappingProcessorProcesses the given class name mapping.- Specified by:
processClassMappingin interfaceMappingProcessor- 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:MappingProcessorProcesses the given field name mapping.- Specified by:
processFieldMappingin interfaceMappingProcessor- 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:MappingProcessorProcesses the given method name mapping.- Specified by:
processMethodMappingin interfaceMappingProcessor- 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.
-
-