Package javassist.bytecode
Class ClassFileWriter.MethodWriter
java.lang.Object
javassist.bytecode.ClassFileWriter.MethodWriter
- Enclosing class:
ClassFileWriter
Method.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int b) Appends an 8bit value of bytecode.void
add16
(int b) Appends a 16bit value of bytecode.void
add32
(int b) Appends a 32bit value of bytecode.void
addCatch
(int startPc, int endPc, int handlerPc, int catchType) Appends anexception_table
entry to theCode_attribute
.void
Appends a invokevirtual, inovkespecial, or invokestatic bytecode.void
begin
(int accessFlags, int name, int descriptor, int[] exceptions, ClassFileWriter.AttributeWriter aw) Starts adding a new method.void
begin
(int accessFlags, String name, String descriptor, String[] exceptions, ClassFileWriter.AttributeWriter aw) Starts Adding a new method.void
codeEnd
(int maxStack, int maxLocals) Ends appending bytecode.void
Ends adding a new method.int
size()
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_info
s. 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_table
entry to theCode_attribute
. This method is available only after thecodeEnd
method is called.- Parameters:
catchType
- an index indicating aCONSTANT_Class_info
.
-
end
Ends adding a new method. Theadd
method must be called before theend
method 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
-