Class MemberFinder

java.lang.Object
proguard.classfile.util.MemberFinder
All Implemented Interfaces:
MemberVisitor

public class MemberFinder extends Object implements MemberVisitor
This utility class provides methods to find class members in a given class or in its hierarchy.
  • Constructor Details

    • MemberFinder

      public MemberFinder()
      Creates a new MemberFinder that looks in the class hierarchy.
    • MemberFinder

      public MemberFinder(boolean searchHierarchy)
      Creates a new MemberFinder that looks in the class hierarchy if specified.
  • Method Details

    • findField

      public Field findField(Clazz clazz, String name, String descriptor)
      Finds the field with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
    • findField

      public Field findField(Clazz referencingClass, Clazz clazz, String name, String descriptor)
      Finds the field with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
    • findMethod

      public Method findMethod(Clazz clazz, String name, String descriptor)
      Finds the method with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
    • findMethod

      public Method findMethod(Clazz referencingClass, Clazz clazz, String name, String descriptor)
      Finds the method with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
    • findMember

      public Member findMember(Clazz clazz, String name, String descriptor, boolean isField)
      Finds the class member with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
    • findMember

      public Member findMember(Clazz referencingClass, Clazz clazz, String name, String descriptor, boolean isField)
      Finds the class member with the given name and descriptor in the given class or its hierarchy, referenced from the optional given class. The name and descriptor may contain wildcards.
    • correspondingClass

      public Clazz correspondingClass()
      Returns the corresponding class of the most recently found class member.
    • isOverriden

      public boolean isOverriden(Clazz clazz, Method method)
      Returns whether the given method is overridden anywhere down the class hierarchy.
    • isShadowed

      public boolean isShadowed(Clazz clazz, Field field)
      Returns whether the given field is shadowed anywhere down the class hierarchy.
    • 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