Class ClassVisitor
java.lang.Object
mockit.asm.BaseWriter
mockit.asm.classes.ClassVisitor
- Direct Known Subclasses:
ClassWriter, WrappingClassVisitor
A visitor to visit a Java class, in the following order:
visit (visitAnnotation)* (visitInnerClass | visitField |
visitMethod)* visitEnd.-
Field Summary
Fields inherited from class BaseWriter
annotations, classOrMemberAccess, cp -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]Returns the bytecode of the class that was built with this class visitor.voidVisits the header of the class.visitField(int access, String name, String desc, String signature, Object value) Visits a field of the class.voidvisitInnerClass(String name, String outerName, String innerName, int access) Visits information about an inner class, which is not necessarily a member of the class being visited.visitMethod(int access, String name, String desc, String signature, String[] exceptions) Visits a method of the class.Methods inherited from class BaseWriter
createMarkerAttributes, getAnnotationsSize, getConstantPoolGeneration, getMarkerAttributeCount, getMarkerAttributesSize, put, put, putAccess, putAnnotations, putMarkerAttributes, visitAnnotation, visitEnd
-
Constructor Details
-
ClassVisitor
protected ClassVisitor()
-
-
Method Details
-
visit
Visits the header of the class.- Parameters:
version- the class versionaccess- the class's access flags (seeAccess)name- the internal name of the classadditionalInfo- additional class information
-
visitInnerClass
public void visitInnerClass(@NonNull String name, @Nullable String outerName, @Nullable String innerName, int access) Visits information about an inner class, which is not necessarily a member of the class being visited.- Parameters:
name- the internal name of an inner classouterName- the internal name of the class to which the inner class belongs;nullfor not member classesinnerName- the (simple) name of the inner class inside its enclosing class;nullfor anonymous inner classesaccess- the access flags of the inner class as originally declared in the enclosing class
-
visitField
@Nullable public FieldVisitor visitField(int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable Object value) Visits a field of the class.- Parameters:
access- the field's access flags (seeAccess)name- the field's namedesc- the field's descriptor (seeJavaType)signature- the field's signature;nullwhen the field's type does not use generic typesvalue- the field's initial value;nullwhen the field does not have an initial value; otherwise, must be anInteger, aFloat, aLong, aDoubleor aString(forint,float,longorStringfields respectively); this parameter is only used for static fields; its value is ignored for non static fields, which must be initialized through bytecode instructions in constructors or methods- Returns:
- a visitor to visit field annotations and attributes, or
nullif this class visitor is not interested in visiting these annotations and attributes
-
visitMethod
@Nullable public MethodVisitor visitMethod(int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable String[] exceptions) Visits a method of the class. This method must return a newMethodVisitorinstance (ornull) each time it is called, i.e., it should not return a previously returned visitor.- Parameters:
access- the method's access flags (seeOpcodes)name- the method's namedesc- the method's descriptor (seeJavaType)signature- the method's signature,nullif the method parameters, return type and exceptions do not use generic typesexceptions- the internal names of the method's exception classes- Returns:
- an object to visit the byte code of the method, or
nullif this class visitor is not interested in visiting the code of this method
-
toByteArray
public byte[] toByteArray()Returns the bytecode of the class that was built with this class visitor.
-