Class MethodLinker

java.lang.Object
proguard.classfile.util.MethodLinker
All Implemented Interfaces:
ClassVisitor, MemberVisitor

public class MethodLinker extends Object implements ClassVisitor, MemberVisitor
This ClassVisitor links all corresponding non-private, non-static, non-initializer methods in the class hierarchies of all visited classes. Visited classes are typically all class files that are not being subclassed. Chains of links that have been created in previous invocations are merged with new chains of links, in order to create a consistent set of chains.
  • Constructor Details

    • MethodLinker

      public MethodLinker()
  • Method Details

    • visitAnyClass

      public void visitAnyClass(Clazz clazz)
      Description copied from interface: ClassVisitor
      Visits any Clazz instance. The more specific default implementations of this interface delegate to this method.
      Specified by:
      visitAnyClass in interface ClassVisitor
    • visitAnyMember

      public void visitAnyMember(Clazz clazz, Member member)
      Description copied from interface: MemberVisitor
      Visits any Member instance. The more specific default implementations of this interface delegate to this method.
      Specified by:
      visitAnyMember in interface MemberVisitor
    • lastMember

      public static Member lastMember(Member member)
      Finds the last method in the linked list of related methods.
      Parameters:
      member - The given method.
      Returns:
      The last method in the linked list.
    • lastProcessable

      public static Processable lastProcessable(Processable processable)
      Finds the last method in the linked list of related methods.
      Parameters:
      processable - The given method.
      Returns:
      The last method in the linked list.