| java.lang.Object bsh.org.objectweb.asm.ClassWriter
ClassWriter | public class ClassWriter implements ClassVisitor(Code) | | A
ClassVisitor ClassVisitor that generates Java class files. More
precisely this visitor generates a byte array conforming to the Java class
file format. It can be used alone, to generate a Java class "from scratch",
or with one or more
ClassReader ClassReader and adapter class
visitor to generate a modified class from one or more existing Java classes.
|
Field Summary | |
final static int | CLASS The type of CONSTANT_Class constant pool items. | final static int | DOUBLE The type of CONSTANT_Double constant pool items. | final static int | FIELD The type of CONSTANT_Fieldref constant pool items. | final static int | FIELDORMETH_INSN The type of field and method invocations instructions. | final static int | FLOAT The type of CONSTANT_Float constant pool items. | final static int | IINC_INSN The type of the IINC instruction. | final static int | IMETH The type of CONSTANT_InterfaceMethodref constant pool items. | final static int | IMPLVAR_INSN The type of instructions with an implicit local variable index label. | final static int | INT The type of CONSTANT_Integer constant pool items. | final static int | ITFMETH_INSN The type of the INVOKEINTERFACE instruction. | final static int | LABELW_INSN The type of instructions with a 4 bytes bytecode offset label. | final static int | LABEL_INSN The type of instructions with a 2 bytes bytecode offset label. | final static int | LDCW_INSN The type of the LDC_W and LDC2_W instructions. | final static int | LDC_INSN The type of the LDC instruction. | final static int | LONG The type of CONSTANT_Long constant pool items. | final static int | LOOK_INSN The type of the LOOKUPSWITCH instruction. | final static int | MANA_INSN The type of the MULTIANEWARRAY instruction. | final static int | METH The type of CONSTANT_Methodref constant pool items. | final static int | NAME_TYPE The type of CONSTANT_NameAndType constant pool items. | final static int | NOARG_INSN The type of instructions without any label. | final static int | SBYTE_INSN The type of instructions with an signed byte label. | final static int | SHORT_INSN The type of instructions with an signed short label. | final static int | STR The type of CONSTANT_String constant pool items. | final static int | TABL_INSN The type of the TABLESWITCH instruction. | static byte[] | TYPE The instruction types of all JVM opcodes. | final static int | TYPE_INSN The type of instructions with a type descriptor argument. | final static int | UTF8 The type of CONSTANT_Utf8 constant pool items. | final static int | VAR_INSN The type of instructions with a local variable index label. | final static int | WIDE_INSN The type of the WIDE instruction. | CodeWriter | firstMethod The methods of this class. | Item | key A reusable key used to look for items in the hash
ClassWriter.table table . | Item | key2 A reusable key used to look for items in the hash
ClassWriter.table table . | Item | key3 A reusable key used to look for items in the hash
ClassWriter.table table . | CodeWriter | lastMethod The methods of this class. |
Constructor Summary | |
public | ClassWriter(boolean computeMaxs) Constructs a new
ClassWriter ClassWriter object.
Parameters: computeMaxs - true if the maximum stack size and the maximumnumber of local variables must be automatically computed. |
Method Summary | |
Item | newClass(String value) Adds a class reference to the constant pool of the class being build. | Item | newCst(Object cst) Adds a number or string constant to the constant pool of the class being
build. | Item | newField(String owner, String name, String desc) Adds a field reference to the constant pool of the class being build. | Item | newItfMethod(String ownerItf, String name, String desc) Adds an interface method reference to the constant pool of the class being
build. | Item | newMethod(String owner, String name, String desc) Adds a method reference to the constant pool of the class being build. | Item | newUTF8(String value) Adds an UTF string to the constant pool of the class being build. | public byte[] | toByteArray() Returns the bytecode of the class that was build with this class writer. | public void | visit(int access, String name, String superName, String[] interfaces, String sourceFile) | public void | visitEnd() | public void | visitField(int access, String name, String desc, Object value) | public void | visitInnerClass(String name, String outerName, String innerName, int access) | public CodeVisitor | visitMethod(int access, String name, String desc, String[] exceptions) |
CLASS | final static int CLASS(Code) | | The type of CONSTANT_Class constant pool items.
|
DOUBLE | final static int DOUBLE(Code) | | The type of CONSTANT_Double constant pool items.
|
FIELD | final static int FIELD(Code) | | The type of CONSTANT_Fieldref constant pool items.
|
FIELDORMETH_INSN | final static int FIELDORMETH_INSN(Code) | | The type of field and method invocations instructions.
|
FLOAT | final static int FLOAT(Code) | | The type of CONSTANT_Float constant pool items.
|
IINC_INSN | final static int IINC_INSN(Code) | | The type of the IINC instruction.
|
IMETH | final static int IMETH(Code) | | The type of CONSTANT_InterfaceMethodref constant pool items.
|
IMPLVAR_INSN | final static int IMPLVAR_INSN(Code) | | The type of instructions with an implicit local variable index label.
|
INT | final static int INT(Code) | | The type of CONSTANT_Integer constant pool items.
|
ITFMETH_INSN | final static int ITFMETH_INSN(Code) | | The type of the INVOKEINTERFACE instruction.
|
LABELW_INSN | final static int LABELW_INSN(Code) | | The type of instructions with a 4 bytes bytecode offset label.
|
LABEL_INSN | final static int LABEL_INSN(Code) | | The type of instructions with a 2 bytes bytecode offset label.
|
LDCW_INSN | final static int LDCW_INSN(Code) | | The type of the LDC_W and LDC2_W instructions.
|
LDC_INSN | final static int LDC_INSN(Code) | | The type of the LDC instruction.
|
LONG | final static int LONG(Code) | | The type of CONSTANT_Long constant pool items.
|
LOOK_INSN | final static int LOOK_INSN(Code) | | The type of the LOOKUPSWITCH instruction.
|
MANA_INSN | final static int MANA_INSN(Code) | | The type of the MULTIANEWARRAY instruction.
|
METH | final static int METH(Code) | | The type of CONSTANT_Methodref constant pool items.
|
NAME_TYPE | final static int NAME_TYPE(Code) | | The type of CONSTANT_NameAndType constant pool items.
|
NOARG_INSN | final static int NOARG_INSN(Code) | | The type of instructions without any label.
|
SBYTE_INSN | final static int SBYTE_INSN(Code) | | The type of instructions with an signed byte label.
|
SHORT_INSN | final static int SHORT_INSN(Code) | | The type of instructions with an signed short label.
|
STR | final static int STR(Code) | | The type of CONSTANT_String constant pool items.
|
TABL_INSN | final static int TABL_INSN(Code) | | The type of the TABLESWITCH instruction.
|
TYPE | static byte[] TYPE(Code) | | The instruction types of all JVM opcodes.
|
TYPE_INSN | final static int TYPE_INSN(Code) | | The type of instructions with a type descriptor argument.
|
UTF8 | final static int UTF8(Code) | | The type of CONSTANT_Utf8 constant pool items.
|
VAR_INSN | final static int VAR_INSN(Code) | | The type of instructions with a local variable index label.
|
WIDE_INSN | final static int WIDE_INSN(Code) | | The type of the WIDE instruction.
|
firstMethod | CodeWriter firstMethod(Code) | | The methods of this class. These methods are stored in a linked list of
CodeWriter CodeWriter objects, linked to each other by their
CodeWriter.next field. This field stores the first element of this list.
|
lastMethod | CodeWriter lastMethod(Code) | | The methods of this class. These methods are stored in a linked list of
CodeWriter CodeWriter objects, linked to each other by their
CodeWriter.next field. This field stores the last element of this list.
|
ClassWriter | public ClassWriter(boolean computeMaxs)(Code) | | Constructs a new
ClassWriter ClassWriter object.
Parameters: computeMaxs - true if the maximum stack size and the maximumnumber of local variables must be automatically computed. If this flagis true, then the arguments of the CodeVisitor.visitMaxs visitMaxs method of the CodeVisitorCodeVisitor returned by the ClassWriter.visitMethod visitMethod methodwill be ignored, and computed automatically from the signature andthe bytecode of each method. |
newClass | Item newClass(String value)(Code) | | Adds a class reference to the constant pool of the class being build. Does
nothing if the constant pool already contains a similar item.
Parameters: value - the internal name of the class. a new or already existing class reference item. |
newCst | Item newCst(Object cst)(Code) | | Adds a number or string constant to the constant pool of the class being
build. Does nothing if the constant pool already contains a similar item.
Parameters: cst - the value of the constant to be added to the constant pool. Thisparameter must be an java.lang.Integer Integer, a java.lang.Float Float, a java.lang.Long Long, a java.lang.Double Double or a String String. a new or already existing constant item with the given value. |
newField | Item newField(String owner, String name, String desc)(Code) | | Adds a field reference to the constant pool of the class being build. Does
nothing if the constant pool already contains a similar item.
Parameters: owner - the internal name of the field's owner class. Parameters: name - the field's name. Parameters: desc - the field's descriptor. a new or already existing field reference item. |
newItfMethod | Item newItfMethod(String ownerItf, String name, String desc)(Code) | | Adds an interface method reference to the constant pool of the class being
build. Does nothing if the constant pool already contains a similar item.
Parameters: ownerItf - the internal name of the method's owner interface. Parameters: name - the method's name. Parameters: desc - the method's descriptor. a new or already existing interface method reference item. |
newMethod | Item newMethod(String owner, String name, String desc)(Code) | | Adds a method reference to the constant pool of the class being build. Does
nothing if the constant pool already contains a similar item.
Parameters: owner - the internal name of the method's owner class. Parameters: name - the method's name. Parameters: desc - the method's descriptor. a new or already existing method reference item. |
newUTF8 | Item newUTF8(String value)(Code) | | Adds an UTF string to the constant pool of the class being build. Does
nothing if the constant pool already contains a similar item.
Parameters: value - the String value. a new or already existing UTF8 item. |
toByteArray | public byte[] toByteArray()(Code) | | Returns the bytecode of the class that was build with this class writer.
the bytecode of the class that was build with this class writer. |
visitEnd | public void visitEnd()(Code) | | |
|
|