java.lang.Object
daomephsta.unpick.constantmappers.datadriven.parser.v2.UnpickV2Remapper
All Implemented Interfaces:
UnpickV2Reader.Visitor

public class UnpickV2Remapper
extends java.lang.Object
implements UnpickV2Reader.Visitor
Remaps names and descriptors of target method definitions, then makes a delegate visitor visit the remapped target methods. All other visitor methods only delegate to the delegate visitor.
  • Constructor Summary

    Constructors
    Constructor Description
    UnpickV2Remapper​(java.util.Map<java.lang.String,​java.lang.String> classMappings, java.util.Map<MethodKey,​java.lang.String> methodMappings, UnpickV2Reader.Visitor delegate)
    Creates a new UnpickV2Remapper.
  • Method Summary

    Modifier and Type Method Description
    void endVisit()
    Visits the end of the file.
    void startVisit()
    Visits the start of the file.
    void visitFlagConstantDefinition​(java.lang.String group, java.lang.String owner, java.lang.String name, java.lang.String value, java.lang.String descriptor)
    Visits a flag constant definition (start token flag).
    value and descriptor will either both have a value or both be null.
    void visitLineNumber​(int lineNumber)
    Visits the line number.
    void visitSimpleConstantDefinition​(java.lang.String group, java.lang.String owner, java.lang.String name, java.lang.String value, java.lang.String descriptor)
    Visits a simple constant definition (start token constant).
    value and descriptor will either both have a value or both be null.
    UnpickV2Reader.TargetMethodDefinitionVisitor visitTargetMethodDefinition​(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
    Visits a target method definition (start token target_method).

    Methods inherited from class java.lang.Object

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

    • UnpickV2Remapper

      public UnpickV2Remapper​(java.util.Map<java.lang.String,​java.lang.String> classMappings, java.util.Map<MethodKey,​java.lang.String> methodMappings, UnpickV2Reader.Visitor delegate)
      Creates a new UnpickV2Remapper.
      Parameters:
      classMappings - a mapping of old class names to new class names.
      methodMappings - a mapping of old method names, owner classes, and descriptors; to new method names.
      delegate - the visitor that should visit the remapped target method definitions. All other visitor methods only delegate to the delegate visitor.
  • Method Details

    • visitTargetMethodDefinition

      public UnpickV2Reader.TargetMethodDefinitionVisitor visitTargetMethodDefinition​(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
      Description copied from interface: UnpickV2Reader.Visitor
      Visits a target method definition (start token target_method).
      Specified by:
      visitTargetMethodDefinition in interface UnpickV2Reader.Visitor
      Parameters:
      owner - the internal name of the method's owner class.
      name - the method's Java identifier.
      descriptor - the method's descriptor.
      Returns:
      an instance of TargetMethodDefinitionVisitor that should visit the parameter and return groups of the target method definition, or null if they should not be visited.
    • startVisit

      public void startVisit()
      Description copied from interface: UnpickV2Reader.Visitor
      Visits the start of the file. This is the first method called.
      Specified by:
      startVisit in interface UnpickV2Reader.Visitor
    • visitLineNumber

      public void visitLineNumber​(int lineNumber)
      Description copied from interface: UnpickV2Reader.Visitor
      Visits the line number.
      Specified by:
      visitLineNumber in interface UnpickV2Reader.Visitor
      Parameters:
      lineNumber - the number of the line that is about to be visited.
    • visitSimpleConstantDefinition

      public void visitSimpleConstantDefinition​(java.lang.String group, java.lang.String owner, java.lang.String name, java.lang.String value, java.lang.String descriptor)
      Description copied from interface: UnpickV2Reader.Visitor
      Visits a simple constant definition (start token constant).
      value and descriptor will either both have a value or both be null.
      Specified by:
      visitSimpleConstantDefinition in interface UnpickV2Reader.Visitor
      Parameters:
      group - the id of the constant's constant group.
      owner - the internal name of the constant's owner class.
      name - the constant's Java identifier.
      value - the constant's value as a String, or null if it is not specified (will be resolved at runtime).
      descriptor - the constant's descriptor, or null if it is not specified (will be resolved at runtime).
    • visitFlagConstantDefinition

      public void visitFlagConstantDefinition​(java.lang.String group, java.lang.String owner, java.lang.String name, java.lang.String value, java.lang.String descriptor)
      Description copied from interface: UnpickV2Reader.Visitor
      Visits a flag constant definition (start token flag).
      value and descriptor will either both have a value or both be null.
      Specified by:
      visitFlagConstantDefinition in interface UnpickV2Reader.Visitor
      Parameters:
      group - the id of the constant's constant group.
      owner - the internal name of the constant's owner class.
      name - the constant's Java identifier.
      value - the constant's value as a String, or null if it is not specified (will be resolved at runtime).
      descriptor - the constant's descriptor, or null if it is not specified (will be resolved at runtime).
    • endVisit

      public void endVisit()
      Description copied from interface: UnpickV2Reader.Visitor
      Visits the end of the file. This is the last method called.
      Specified by:
      endVisit in interface UnpickV2Reader.Visitor