Package | Description |
---|---|
org.apache.bcel.classfile |
This package contains the classes that describe the structure of a
Java class file and a class file parser.
|
org.apache.bcel.generic |
This package contains the "generic" part of the
Byte Code Engineering
Library, i.e., classes to dynamically modify class objects and
byte code instructions.
|
org.apache.bcel.verifier.statics |
Provides PassVerifier classes used internally by JustIce.
|
org.apache.bcel.verifier.structurals |
Provides a PassVerifier class mostly used internally by JustIce, yielding a control flow graph for public use as
a nice side effect.
|
Modifier and Type | Method and Description |
---|---|
Type[] |
Method.getArgumentTypes() |
Type |
Method.getReturnType() |
Type |
Field.getType() |
Modifier and Type | Class and Description |
---|---|
class |
ArrayType
Denotes array type, such as int[][]
|
class |
BasicType
Denotes basic type such as int.
|
class |
ObjectType
Denotes reference such as java.lang.String.
|
class |
ReferenceType
Super class for object and array types.
|
class |
ReturnaddressType
Returnaddress, the type JSR or JSR_W instructions push upon the stack.
|
Modifier and Type | Field and Description |
---|---|
static Type[] |
Type.NO_ARGS
Empty array.
|
protected Type |
FieldGenOrMethodGen.type
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
static Type |
Type.UNKNOWN |
Modifier and Type | Method and Description |
---|---|
Type |
MethodGen.getArgumentType(int i) |
Type[] |
MethodGen.getArgumentTypes() |
Type[] |
InvokeInstruction.getArgumentTypes(ConstantPoolGen cpg) |
static Type[] |
Type.getArgumentTypes(String signature)
Convert arguments of a method (signature) to an array of Type objects.
|
Type |
ArrayType.getBasicType() |
Type |
ArrayType.getElementType() |
Type |
FieldInstruction.getFieldType(ConstantPoolGen cpg) |
Type |
MethodGen.getReturnType() |
Type |
InvokeInstruction.getReturnType(ConstantPoolGen cpg) |
static Type |
Type.getReturnType(String signature)
Convert return value of a method (signature) to a Type object.
|
Type |
NEWARRAY.getType() |
Type |
ReturnInstruction.getType() |
Type |
LocalVariableGen.getType() |
Type |
NamedAndTyped.getType() |
Type |
FieldGenOrMethodGen.getType() |
static Type |
Type.getType(Class<?> cls)
Convert runtime java.lang.Class to BCEL Type object.
|
Type |
JsrInstruction.getType(ConstantPoolGen cp) |
Type |
DCONST.getType(ConstantPoolGen cp) |
Type |
LocalVariableInstruction.getType(ConstantPoolGen cp)
Returns the type associated with the instruction - in case of ALOAD or ASTORE Type.OBJECT is returned.
|
Type |
SIPUSH.getType(ConstantPoolGen cp) |
Type |
ReturnInstruction.getType(ConstantPoolGen cp) |
Type |
BIPUSH.getType(ConstantPoolGen cp) |
Type |
CPInstruction.getType(ConstantPoolGen cpg) |
Type |
DCMPL.getType(ConstantPoolGen cp) |
Type |
FieldInstruction.getType(ConstantPoolGen cpg) |
Type |
LCONST.getType(ConstantPoolGen cp) |
Type |
LDC2_W.getType(ConstantPoolGen cpg) |
Type |
InvokeInstruction.getType(ConstantPoolGen cpg) |
Type |
LCMP.getType(ConstantPoolGen cp) |
Type |
DCMPG.getType(ConstantPoolGen cp) |
Type |
ArithmeticInstruction.getType(ConstantPoolGen cp) |
Type |
ConversionInstruction.getType(ConstantPoolGen cp) |
Type |
RET.getType(ConstantPoolGen cp) |
Type |
LoadClass.getType(ConstantPoolGen cpg)
Returns the type associated with this instruction.
|
Type |
IINC.getType(ConstantPoolGen cp) |
Type |
FCMPL.getType(ConstantPoolGen cp) |
Type |
ICONST.getType(ConstantPoolGen cp) |
Type |
StackInstruction.getType(ConstantPoolGen cp) |
Type |
FCONST.getType(ConstantPoolGen cp) |
Type |
ArrayInstruction.getType(ConstantPoolGen cp) |
Type |
TypedInstruction.getType(ConstantPoolGen cpg) |
Type |
ACONST_NULL.getType(ConstantPoolGen cp) |
Type |
FCMPG.getType(ConstantPoolGen cp) |
Type |
LDC.getType(ConstantPoolGen cpg) |
static Type |
Type.getType(String signature)
Convert signature to a Type object.
|
static Type[] |
Type.getTypes(Class<?>[] classes)
Convert runtime java.lang.Class[] to BCEL Type objects.
|
Type |
Type.normalizeForStackOrLocal()
boolean, short and char variable are considered as int in the stack or local variable area.
|
Modifier and Type | Method and Description |
---|---|
LocalVariableGen |
MethodGen.addLocalVariable(String name,
Type type,
InstructionHandle start,
InstructionHandle end)
Adds a local variable to this method and assigns an index automatically.
|
LocalVariableGen |
MethodGen.addLocalVariable(String name,
Type type,
int slot,
InstructionHandle start,
InstructionHandle end)
Adds a local variable to this method.
|
LocalVariableGen |
MethodGen.addLocalVariable(String name,
Type type,
int slot,
InstructionHandle start,
InstructionHandle end,
int origIndex)
Adds a local variable to this method.
|
Instruction |
InstructionFactory.createAppend(Type type) |
static ArrayInstruction |
InstructionFactory.createArrayLoad(Type type) |
static ArrayInstruction |
InstructionFactory.createArrayStore(Type type) |
static ArithmeticInstruction |
InstructionFactory.createBinaryOperation(String op,
Type type)
Create binary operation for simple basic types, such as int and float.
|
Instruction |
InstructionFactory.createCast(Type srcType,
Type destType)
Create conversion operation for two stack operands, this may be an I2C, instruction, e.g., if the operands are basic
types and CHECKCAST if they are reference types.
|
FieldInstruction |
InstructionFactory.createFieldAccess(String className,
String name,
Type type,
short kind)
Create a field instruction.
|
GETFIELD |
InstructionFactory.createGetField(String className,
String name,
Type t) |
GETSTATIC |
InstructionFactory.createGetStatic(String className,
String name,
Type t) |
InvokeInstruction |
InstructionFactory.createInvoke(String className,
String name,
Type retType,
Type[] argTypes,
short kind)
Create an invoke instruction.
|
InvokeInstruction |
InstructionFactory.createInvoke(String className,
String name,
Type retType,
Type[] argTypes,
short kind)
Create an invoke instruction.
|
InvokeInstruction |
InstructionFactory.createInvoke(String className,
String name,
Type retType,
Type[] argTypes,
short kind,
boolean useInterface)
Create an invoke instruction.
|
InvokeInstruction |
InstructionFactory.createInvoke(String className,
String name,
Type retType,
Type[] argTypes,
short kind,
boolean useInterface)
Create an invoke instruction.
|
static LocalVariableInstruction |
InstructionFactory.createLoad(Type type,
int index) |
Instruction |
InstructionFactory.createNewArray(Type t,
short dim)
Create new array of given size and type.
|
static Instruction |
InstructionFactory.createNull(Type type)
Create "null" value for reference types, 0 for basic types like int
|
PUTFIELD |
InstructionFactory.createPutField(String className,
String name,
Type t) |
PUTSTATIC |
InstructionFactory.createPutStatic(String className,
String name,
Type t) |
static ReturnInstruction |
InstructionFactory.createReturn(Type type)
Create typed return
|
static LocalVariableInstruction |
InstructionFactory.createStore(Type type,
int index) |
static String |
Type.getMethodSignature(Type returnType,
Type[] argTypes)
Convert type to Java method signature, e.g.
|
static String |
Type.getMethodSignature(Type returnType,
Type[] argTypes)
Convert type to Java method signature, e.g.
|
boolean |
ReferenceType.isAssignmentCompatibleWith(Type t)
Return true iff this is assignment compatible with another type t as defined in the JVM specification; see the
AASTORE definition there.
|
boolean |
ReferenceType.isCastableTo(Type t)
Return true iff this type is castable to another type t as defined in the JVM specification.
|
void |
MethodGen.setArgumentType(int i,
Type type) |
void |
MethodGen.setArgumentTypes(Type[] argTypes) |
void |
MethodGen.setReturnType(Type returnType) |
void |
LocalVariableGen.setType(Type type) |
void |
NamedAndTyped.setType(Type type) |
void |
FieldGenOrMethodGen.setType(Type type) |
Constructor and Description |
---|
ArrayType(Type type,
int dimensions)
Constructor for array of given type
|
FieldGen(int accessFlags,
Type type,
String name,
ConstantPoolGen cp)
Declare a field.
|
LocalVariableGen(int index,
String name,
Type type,
InstructionHandle start,
InstructionHandle end)
Generate a local variable that with index 'index'.
|
LocalVariableGen(int index,
String name,
Type type,
InstructionHandle start,
InstructionHandle end,
int origIndex)
Generates a local variable that with index 'index'.
|
MethodGen(int accessFlags,
Type returnType,
Type[] argTypes,
String[] argNames,
String methodName,
String className,
InstructionList il,
ConstantPoolGen cp)
Declare method.
|
MethodGen(int accessFlags,
Type returnType,
Type[] argTypes,
String[] argNames,
String methodName,
String className,
InstructionList il,
ConstantPoolGen cp)
Declare method.
|
Modifier and Type | Class and Description |
---|---|
class |
DOUBLE_Upper
This class represents the upper half of a DOUBLE variable.
|
class |
LONG_Upper
This class represents the upper half of a LONG variable.
|
Modifier and Type | Method and Description |
---|---|
Type |
LocalVariableInfo.getType(int offset)
Returns the type of the local variable that uses this local variable slot at the given bytecode offset.
|
Modifier and Type | Method and Description |
---|---|
void |
LocalVariablesInfo.add(int slot,
String name,
int startPc,
int length,
Type type)
Adds information about the local variable in slot 'slot'.
|
void |
LocalVariableInfo.add(String name,
int startPc,
int length,
Type type)
Adds some information about this local variable (slot).
|
Modifier and Type | Class and Description |
---|---|
class |
UninitializedObjectType
This class represents an uninitialized object type; see The Java Virtual Machine Specification, Second Edition, page
147: 4.9.4 for more details.
|
Modifier and Type | Method and Description |
---|---|
Type |
LocalVariables.get(int slotIndex)
Returns the type of the local variable slot index.
|
Type |
OperandStack.peek()
Returns the element on top of the stack.
|
Type |
OperandStack.peek(int i)
Returns the element that's i elements below the top element; that means, iff i==0 the top element is returned.
|
Type |
OperandStack.pop()
Returns the element on top of the stack.
|
Type |
OperandStack.pop(int count)
Pops i elements off the stack.
|
Modifier and Type | Method and Description |
---|---|
void |
Pass3bVerifier.invalidReturnTypeError(Type returnedType,
MethodGen m)
Throws an exception indicating the returned type is not compatible with the return type of the given method.
|
void |
OperandStack.push(Type type)
Pushes a Type object onto the stack.
|
void |
LocalVariables.set(int slotIndex,
Type type)
Sets a new Type for the given local variable slot.
|
Copyright © 2004–2024 The Apache Software Foundation. All rights reserved.