1
2
3
4
5
6 package mockit.internal.classGeneration;
7
8 import static mockit.asm.jvmConstants.Access.PUBLIC;
9
10 import edu.umd.cs.findbugs.annotations.NonNull;
11 import edu.umd.cs.findbugs.annotations.Nullable;
12
13 import mockit.asm.classes.ClassReader;
14 import mockit.asm.classes.ClassVisitor;
15
16
17
18
19 public final class ConcreteSubclass<T> extends ImplementationClass<T> {
20 public ConcreteSubclass(@NonNull Class<?> baseClass) {
21 super(baseClass);
22 }
23
24 @NonNull
25 @Override
26 protected ClassVisitor createMethodBodyGenerator(@NonNull ClassReader typeReader) {
27 return new BaseSubclassGenerator(sourceClass, typeReader, null, generatedClassName, false) {
28 @Override
29 protected void generateMethodImplementation(String className, int access, @NonNull String name,
30 @NonNull String desc, @Nullable String signature, @Nullable String[] exceptions) {
31 mw = cw.visitMethod(PUBLIC, name, desc, signature, exceptions);
32 generateEmptyImplementation(desc);
33 }
34 };
35 }
36 }