Class ClassFileWriter.MethodWriter

java.lang.Object
javassist.bytecode.ClassFileWriter.MethodWriter
Enclosing class:
ClassFileWriter

public static final class ClassFileWriter.MethodWriter extends Object
Method.
  • Method Details

    • begin

      public void begin(int accessFlags, String name, String descriptor, String[] exceptions, ClassFileWriter.AttributeWriter aw)
      Starts Adding a new method.
      Parameters:
      accessFlags - access flags.
      name - the method name.
      descriptor - the method signature.
      exceptions - throws clause. It may be null. The class names must be the JVM-internal representations like java/lang/Exception.
      aw - attributes to the Method_info.
    • begin

      public void begin(int accessFlags, int name, int descriptor, int[] exceptions, ClassFileWriter.AttributeWriter aw)
      Starts adding a new method.
      Parameters:
      accessFlags - access flags.
      name - the method name. an index indicating its CONSTANT_Utf8_info.
      descriptor - the field type. an index indicating its CONSTANT_Utf8_info.
      exceptions - throws clause. indexes indicating CONSTANT_Class_infos. It may be null.
      aw - attributes to the Method_info.
    • add

      public void add(int b)
      Appends an 8bit value of bytecode.
      See Also:
    • add16

      public void add16(int b)
      Appends a 16bit value of bytecode.
    • add32

      public void add32(int b)
      Appends a 32bit value of bytecode.
    • addInvoke

      public void addInvoke(int opcode, String targetClass, String methodName, String descriptor)
      Appends a invokevirtual, inovkespecial, or invokestatic bytecode.
      See Also:
    • codeEnd

      public void codeEnd(int maxStack, int maxLocals)
      Ends appending bytecode.
    • addCatch

      public void addCatch(int startPc, int endPc, int handlerPc, int catchType)
      Appends an exception_table entry to the Code_attribute. This method is available only after the codeEnd method is called.
      Parameters:
      catchType - an index indicating a CONSTANT_Class_info.
    • end

      Ends adding a new method. The add method must be called before the end method is called.
      Parameters:
      smap - a stack map table. may be null.
      aw - attributes to the Code_attribute. may be null.
    • size

      public int size()
      Returns the length of the bytecode that has been added so far.
      Returns:
      the length in bytes.
      Since:
      3.19