1
2
3
4
5
6 package mockit.asm.classes;
7
8 import edu.umd.cs.findbugs.annotations.NonNull;
9 import edu.umd.cs.findbugs.annotations.Nullable;
10
11 import mockit.asm.annotations.AnnotationVisitor;
12 import mockit.asm.fields.FieldVisitor;
13 import mockit.asm.methods.MethodVisitor;
14
15
16
17
18 public class WrappingClassVisitor extends ClassVisitor {
19
20
21
22 @NonNull
23 protected final ClassWriter cw;
24
25
26
27
28
29
30
31 protected WrappingClassVisitor(@NonNull ClassWriter cw) {
32 this.cw = cw;
33 }
34
35 @Override
36 public void visit(int version, int access, @NonNull String name, @NonNull ClassInfo additionalInfo) {
37 cw.visit(version, access, name, additionalInfo);
38 }
39
40 @Nullable
41 @Override
42 public AnnotationVisitor visitAnnotation(@NonNull String desc) {
43 return cw.visitAnnotation(desc);
44 }
45
46 @Override
47 public void visitInnerClass(@NonNull String name, @Nullable String outerName, @Nullable String innerName,
48 int access) {
49 cw.visitInnerClass(name, outerName, innerName, access);
50 }
51
52 @Nullable
53 @Override
54 public FieldVisitor visitField(int access, @NonNull String name, @NonNull String desc, @Nullable String signature,
55 @Nullable Object value) {
56 return cw.visitField(access, name, desc, signature, value);
57 }
58
59 @Override
60 public MethodVisitor visitMethod(int access, @NonNull String name, @NonNull String desc, @Nullable String signature,
61 @Nullable String[] exceptions) {
62 return cw.visitMethod(access, name, desc, signature, exceptions);
63 }
64
65 @Override
66 public final byte[] toByteArray() {
67 return cw.toByteArray();
68 }
69 }