# Uses of Class
serp.bytecode.BCClass

Packages that use BCClass
Package
Description
serp.bytecode
Bytecode Manipuation
serp.bytecode.visitor
Bytecode Visitor

## Uses of BCClass in serp.bytecode

Methods in serp.bytecode that return BCClass
Modifier and Type
Method
Description
`protected BCClass`
BCClassLoader.`createClass(String name)`
Override this method if unfound classes should be created on-the-fly.
`BCClass`
ExceptionHandler.`getCatchBC()`
Return the bytecode of the exception type; returns null for catch-all clauses used to implement finally blocks.
`BCClass[]`
Project.`getClasses()`
Return all loaded classes in the project.
`BCClass`
BCClass.`getComponentBC()`
Return the component type of this class, or null if not an array.
`BCClass[]`
BCClass.`getDeclaredInterfaceBCs()`
Return the bytecode for the declared interfaces of this class, or an empty array if none.
`BCClass`
BCMember.`getDeclarer()`
Return the `BCClass` that declares this member.
`BCClass`
InnerClass.`getDeclarerBC()`
Return the type for this instruction.
`BCClass[]`
Exceptions.`getExceptionBCs()`
Return bytecode for the exception types of this method, or an empty array if none.
`BCClass`
FieldInstruction.`getFieldDeclarerBC()`
Return the declaring class of the field this instruction operates on, or null if not set.
`BCClass`
FieldInstruction.`getFieldTypeBC()`
Return the type of the field this instruction operates on, or null if not set.
`BCClass`
ConvertInstruction.`getFromTypeBC()`
Return the bytecode of the type being converted from.
`BCClass[]`
BCClass.`getInterfaceBCs()`
Return the bytecode of all unique interfaces implemented by this class, including those of all superclasses.
`BCClass`
MethodInstruction.`getMethodDeclarerBC()`
Return the declaring type of the method this instruction operates on, or null if not set.
`BCClass[]`
MethodInstruction.`getMethodParamBCs()`
Return the param types of the method this instruction operates on, or empty array if none.
`BCClass`
MethodInstruction.`getMethodReturnBC()`
Return the return type of the method this instruction operates on, or null if not set.
`BCClass[]`
BCMethod.`getParamBCs()`
Return the bytecode for all the parameter types for this method.
`BCClass`
BCMethod.`getReturnBC()`
Return the bytecode for the return type of this method.
`BCClass`
BCClass.`getSuperclassBC()`
Return the bytecode of the superclass of this class, or null for types without superclasses.
`BCClass`
Annotation.`getTypeBC()`
The bytecode for the type of this annotation.
`BCClass`
BCField.`getTypeBC()`
Return the bytecode for the type of this field.
`BCClass`
ConstantValue.`getTypeBC()`
Return the bytecode for the type of constant this attribute represents.
`BCClass`
InnerClass.`getTypeBC()`
Return the type for this instruction.
`BCClass`
LocalVariable.`getTypeBC()`
Return the type of this local.
`BCClass`
TypedInstruction.`getTypeBC()`
Return the type for this instruction.
`BCClass`
Project.`loadClass(File classFile)`
Load the bytecode from the given class file.
`BCClass`
Project.`loadClass(File classFile, ClassLoader loader)`
Load the bytecode from the given class file.
`BCClass`
Project.`loadClass(InputStream in)`
Load the bytecode from the given stream.
`BCClass`
Project.`loadClass(InputStream in, ClassLoader loader)`
Load the bytecode from the given stream.
`BCClass`
Project.`loadClass(Class type)`
Load the bytecode for the given class.
`BCClass`
Project.`loadClass(String name)`
Load a class with the given name.
`BCClass`
Project.`loadClass(String name, ClassLoader loader)`
Load the bytecode for the class with the given name.
`BCClass`
Project.`loadClass(BCClass bc)`
Import the given bytecode from another project.
Methods in serp.bytecode with parameters of type BCClass
Modifier and Type
Method
Description
`Annotation`
Annotations.`addAnnotation(BCClass type)`
Add a new annotation.
`void`
Exceptions.`addException(BCClass type)`
Add an exception to those thrown by this method.
`ExceptionHandler`
Code.`addExceptionHandler(Instruction tryStart, Instruction tryEnd, Instruction handlerStart, BCClass catchType)`
Add an exception handler to this code block.
`InnerClass`
InnerClasses.`addInnerClass(String name, BCClass type, BCClass owner)`
Add an inner class.
`LocalVariable`
LocalVariableTable.`addLocalVariable(String name, BCClass type)`
Add a local to this table.
`void`
BCMethod.`addParam(int pos, BCClass type)`
Add a parameter type to this method.
`void`
BCMethod.`addParam(BCClass type)`
Add a parameter type to this method.
`boolean`
Project.`containsClass(BCClass type)`
Return true if the project already contains the given class.
`BCField`
BCClass.`declareField(String name, BCClass type)`
Add a field to this class.
`void`
BCClass.`declareInterface(BCClass type)`
Add an interface to those declared by this class.
`BCMethod`
BCClass.`declareMethod(String name, BCClass returnType, BCClass[] paramTypes)`
Add a method to this class.
`Annotation`
Annotations.`getAnnotation(BCClass type)`
Return the annotation of the given type, or null if none.
`BCMethod`
BCClass.`getDeclaredMethod(String name, BCClass[] paramTypes)`
Return the declared method with the given name and parameter types, or null if none.
`BCMethod`
BCClass.`getDeclaredMethod(String name, BCClass returnType, BCClass[] paramTypes)`
Return the declared method with the given name and signature, or null if none.
`BCMethod[]`
BCClass.`getDeclaredMethods(String name, BCClass[] paramTypes)`
Return all declared methods with the given name and parameter types.
`ExceptionHandler`
Code.`getExceptionHandler(BCClass catchType)`
Return the exception handler that catches the given exception type; if multiple handlers catch the given type, which is returned is undefined.
`ExceptionHandler[]`
Code.`getExceptionHandlers(BCClass catchType)`
Return all exception handlers that catch the given exception type, or an empty array if none.
`BCMethod[]`
BCClass.`getMethods(String name, BCClass[] paramTypes)`
Return the methods with the given name and parameter types, including those of all superclasses, or an empty array if none.
`boolean`
BCClass.`isInstanceOf(BCClass type)`
Return true if this class or any of its superclasses implement/extend the given interface/class.
`BCClass`
Project.`loadClass(BCClass bc)`
Import the given bytecode from another project.
`Annotation[]`
Annotation.Property.`newAnnotationArrayValue(BCClass type, int length)`
Set this property value to a new annotation array of the given type and length, returning the annotations for manipulation.
`Annotation`
Annotation.Property.`newAnnotationValue(BCClass type)`
Set this property value to a new annotation of the given type, returning the annotation for manipulation.
`boolean`
Annotations.`removeAnnotation(BCClass type)`
Remove the annotation of the given type.
`boolean`
Project.`removeClass(BCClass type)`
Remove a class from this project.
`boolean`
BCClass.`removeDeclaredInterface(BCClass type)`
Remove an interface declared by this class.
`boolean`
BCClass.`removeDeclaredMethod(String name, BCClass[] paramTypes)`
Removes a method from this class.
`boolean`
Exceptions.`removeException(BCClass type)`
Remove an exception thrown by this method.
`boolean`
Code.`removeExceptionHandler(BCClass catchType)`
Remove the exception handler that catches the given type.
`void`
ExceptionHandler.`setCatch(BCClass type)`
Set the class of the exception type, or null for catch-all clauses used for finally blocks.
`Instruction`
ClassConstantInstruction.`setClass(BCClass type)`
Set the type of class being loaded.
`void`
BCClass.`setDeclaredInterfaces(BCClass[] interfaces)`
Set the interfaces declared implemented/extended by this class; set to null or an empty array if none.
`void`
InnerClass.`setDeclarer(BCClass type)`
Set the type of this declaring class.
`void`
Exceptions.`setExceptions(BCClass[] exceptions)`
Set the checked exceptions thrown by this method.
`FieldInstruction`
FieldInstruction.`setField(String name, BCClass type)`
Set the field this instruction operates on, for fields that are declared by the current class.
`FieldInstruction`
FieldInstruction.`setField(BCClass dec, String name, BCClass type)`
Set the field this instruction operates on.
`FieldInstruction`
FieldInstruction.`setFieldDeclarer(BCClass type)`
Set the declaring class of the field this instruction operates on.
`FieldInstruction`
FieldInstruction.`setFieldType(BCClass type)`
Set the type of the field this instruction operates on.
`ConvertInstruction`
ConvertInstruction.`setFromType(BCClass type)`
Set the type being converted from.
`MethodInstruction`
MethodInstruction.`setMethod(String name, BCClass returnType, BCClass[] params)`
Set the method this instruction operates on, for methods that are declared by the current class.
`MethodInstruction`
MethodInstruction.`setMethod(BCClass dec, String name, BCClass returnType, BCClass[] params)`
Set the method this instruction operates on.
`MethodInstruction`
MethodInstruction.`setMethodDeclarer(BCClass type)`
Set the declaring type of the method this instruction operates on.
`void`
MethodInstruction.`setMethodParams(BCClass[] types)`
Set the param types of the method this instruction operates on.
`MethodInstruction`
MethodInstruction.`setMethodReturn(BCClass type)`
Set the return type of the method this instruction operates on.
`void`
BCMethod.`setParam(int pos, BCClass type)`
Change a parameter type of this method.
`void`
BCMethod.`setParams(BCClass[] types)`
Set the parameter type of this method.
`void`
BCMethod.`setReturn(BCClass type)`
Set the return type of this method.
`void`
BCClass.`setSuperclass(BCClass type)`
Set the superclass of this class.
`void`
Annotation.`setType(BCClass type)`
This annotation's type.
`void`
BCField.`setType(BCClass type)`
Set the type of this field.
`void`
InnerClass.`setType(BCClass type)`
Set the type of this inner class.
`void`
LocalVariable.`setType(BCClass type)`
Set the type of this local.
`TypedInstruction`
TypedInstruction.`setType(BCClass type)`
Set the type of this instruction.
`void`
Annotation.Property.`setValue(BCClass value)`
Set the class value of this property.
`ConstantInstruction`
ConstantInstruction.`setValue(BCClass value)`
Set the value of this constant.
`boolean`
Exceptions.`throwsException(BCClass type)`
Return true if the method declares that it throws the given exception type.

## Uses of BCClass in serp.bytecode.visitor

Methods in serp.bytecode.visitor with parameters of type BCClass
Modifier and Type
Method
Description
`void`
BCVisitor.`enterBCClass(BCClass obj)`
`void`
PrettyPrintVisitor.`enterBCClass(BCClass obj)`
`void`
BCVisitor.`exitBCClass(BCClass obj)`
`void`
PrettyPrintVisitor.`exitBCClass(BCClass obj)`