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