Class MethodCreator

java.lang.Object
proguard.classfile.visitor.MethodCreator
All Implemented Interfaces:
ClassVisitor

public class MethodCreator extends Object implements ClassVisitor
This class visitor is able to create a method and add it to a program class in case it does not exist yet.
  • Constructor Details

    • MethodCreator

      public MethodCreator(ClassPool programClassPool, ClassPool libraryClassPool, String name, String descriptor, int requiredSetAccessFlags, int processingFlags, boolean callSuper)
      Create a new MethodCreator.
      Parameters:
      programClassPool - The program class pool.
      libraryClassPool - The library class pool.
      name - The name of the method to add.
      descriptor - The descriptor of the method to add.
      requiredSetAccessFlags - The access flags of the method to add.
      processingFlags - The processing flags to attach to the method.
      callSuper - Whether the method should call a super method.
  • 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
    • visitProgramClass

      public void visitProgramClass(ProgramClass programClass)
      Specified by:
      visitProgramClass in interface ClassVisitor
    • addReturnInstructions

      public static void addReturnInstructions(InstructionSequenceBuilder builder, String returnType)
      Adds a return instruction to this builder for a super call that resulted in the given return type.
    • getMethod

      public ProgramMethod getMethod()