mockit.asm.classes.WrappingClassVisitor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jmockit Show documentation
Show all versions of jmockit Show documentation
JMockit is a Java toolkit for automated developer testing.
It contains mocking/faking APIs and a code coverage tool, supporting both JUnit and TestNG.
The mocking APIs allow all kinds of Java code, without testability restrictions, to be tested
in isolation from selected dependencies.
package mockit.asm.classes;
import javax.annotation.*;
import mockit.asm.annotations.*;
import mockit.asm.fields.*;
import mockit.asm.methods.*;
/**
* Same as {@link ClassVisitor}, except it always wraps a {@link ClassWriter}.
*/
public class WrappingClassVisitor extends ClassVisitor
{
/**
* The class visitor to which this visitor must delegate method calls.
*/
@Nonnull protected final ClassWriter cw;
/**
* Constructs a new WrappingClassVisitor.
*
* @param cw the class writer to which this visitor must delegate method calls.
*/
protected WrappingClassVisitor(@Nonnull ClassWriter cw) { this.cw = cw; }
@Override
public void visit(int version, int access, @Nonnull String name, @Nonnull ClassInfo additionalInfo) {
cw.visit(version, access, name, additionalInfo);
}
@Nullable @Override
public AnnotationVisitor visitAnnotation(@Nonnull String desc) {
return cw.visitAnnotation(desc);
}
@Override
public void visitInnerClass(@Nonnull String name, @Nullable String outerName, @Nullable String innerName, int access) {
cw.visitInnerClass(name, outerName, innerName, access);
}
@Nullable @Override
public FieldVisitor visitField(
int access, @Nonnull String name, @Nonnull String desc, @Nullable String signature, @Nullable Object value
) {
return cw.visitField(access, name, desc, signature, value);
}
@Override
public MethodVisitor visitMethod(
int access, @Nonnull String name, @Nonnull String desc, @Nullable String signature, @Nullable String[] exceptions
) {
return cw.visitMethod(access, name, desc, signature, exceptions);
}
@Override
public final byte[] toByteArray() { return cw.toByteArray(); }
}