Package mockit.asm.classes
Class WrappingClassVisitor
java.lang.Object
mockit.asm.BaseWriter
mockit.asm.classes.ClassVisitor
mockit.asm.classes.WrappingClassVisitor
- Direct Known Subclasses:
BaseClassModifier
Same as
ClassVisitor
, except it always wraps a ClassWriter
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ClassWriter
The class visitor to which this visitor must delegate method calls.Fields inherited from class mockit.asm.BaseWriter
annotations, classOrMemberAccess, cp
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructs a new WrappingClassVisitor. -
Method Summary
Modifier and TypeMethodDescriptionfinal byte[]
Returns the bytecode of the class that was built with this class visitor.void
Visits the header of the class.visitAnnotation
(String desc) Visits an annotation of the class/field/method being visited.visitField
(int access, String name, String desc, String signature, Object value) Visits a field of the class.void
visitInnerClass
(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 mockit.asm.BaseWriter
createMarkerAttributes, getAnnotationsSize, getConstantPoolGeneration, getMarkerAttributeCount, getMarkerAttributesSize, put, put, putAccess, putAnnotations, putMarkerAttributes, visitEnd
-
Field Details
-
cw
The class visitor to which this visitor must delegate method calls.
-
-
Constructor Details
-
WrappingClassVisitor
Constructs a new WrappingClassVisitor.- Parameters:
cw
- the class writer to which this visitor must delegate method calls.
-
-
Method Details
-
visit
Description copied from class:ClassVisitor
Visits the header of the class.- Overrides:
visit
in classClassVisitor
- Parameters:
version
- the class versionaccess
- the class's access flags (seeAccess
)name
- the internal name of the classadditionalInfo
- additional class information
-
visitAnnotation
Description copied from class:BaseWriter
Visits an annotation of the class/field/method being visited.- Overrides:
visitAnnotation
in classBaseWriter
- Parameters:
desc
- the descriptor of the annotation type- Returns:
- a visitor to visit the annotation values, or
null
if this visitor is not interested in visiting the annotation
-
visitInnerClass
public void visitInnerClass(@NonNull String name, @Nullable String outerName, @Nullable String innerName, int access) Description copied from class:ClassVisitor
Visits information about an inner class, which is not necessarily a member of the class being visited.- Overrides:
visitInnerClass
in classClassVisitor
- Parameters:
name
- the internal name of an inner classouterName
- the internal name of the class to which the inner class belongs;null
for not member classesinnerName
- the (simple) name of the inner class inside its enclosing class;null
for 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) Description copied from class:ClassVisitor
Visits a field of the class.- Overrides:
visitField
in classClassVisitor
- Parameters:
access
- the field's access flags (seeAccess
)name
- the field's namedesc
- the field's descriptor (seeJavaType
)signature
- the field's signature;null
when the field's type does not use generic typesvalue
- the field's initial value;null
when the field does not have an initial value; otherwise, must be anInteger
, aFloat
, aLong
, aDouble
or aString
(forint
,float
,long
orString
fields 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
null
if this class visitor is not interested in visiting these annotations and attributes
-
visitMethod
public MethodVisitor visitMethod(int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable String[] exceptions) Description copied from class:ClassVisitor
Visits a method of the class. This method must return a newMethodVisitor
instance (ornull
) each time it is called, i.e., it should not return a previously returned visitor.- Overrides:
visitMethod
in classClassVisitor
- Parameters:
access
- the method's access flags (seeOpcodes
)name
- the method's namedesc
- the method's descriptor (seeJavaType
)signature
- the method's signature,null
if 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
null
if this class visitor is not interested in visiting the code of this method
-
toByteArray
public final byte[] toByteArray()Description copied from class:ClassVisitor
Returns the bytecode of the class that was built with this class visitor.- Overrides:
toByteArray
in classClassVisitor
-