Package javassist.bytecode
Class ClassFileWriter.MethodWriter
java.lang.Object
javassist.bytecode.ClassFileWriter.MethodWriter
- Enclosing class:
ClassFileWriter
Method.
-
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int b) Appends an 8bit value of bytecode.voidadd16(int b) Appends a 16bit value of bytecode.voidadd32(int b) Appends a 32bit value of bytecode.voidaddCatch(int startPc, int endPc, int handlerPc, int catchType) Appends anexception_tableentry to theCode_attribute.voidAppends a invokevirtual, inovkespecial, or invokestatic bytecode.voidbegin(int accessFlags, int name, int descriptor, int[] exceptions, ClassFileWriter.AttributeWriter aw) Starts adding a new method.voidbegin(int accessFlags, String name, String descriptor, String[] exceptions, ClassFileWriter.AttributeWriter aw) Starts Adding a new method.voidcodeEnd(int maxStack, int maxLocals) Ends appending bytecode.voidEnds adding a new method.intsize()Returns the length of the bytecode that has been added so far.
-
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 likejava/lang/Exception.aw- attributes to theMethod_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 itsCONSTANT_Utf8_info.descriptor- the field type. an index indicating itsCONSTANT_Utf8_info.exceptions- throws clause. indexes indicatingCONSTANT_Class_infos. It may be null.aw- attributes to theMethod_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
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 anexception_tableentry to theCode_attribute. This method is available only after thecodeEndmethod is called.- Parameters:
catchType- an index indicating aCONSTANT_Class_info.
-
end
Ends adding a new method. Theaddmethod must be called before theendmethod is called.- Parameters:
smap- a stack map table. may be null.aw- attributes to theCode_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
-