1
2
3
4
5 package mockit.internal.util;
6
7 import edu.umd.cs.findbugs.annotations.NonNull;
8
9 public final class ClassNaming {
10 private ClassNaming() {
11 }
12
13
14
15
16
17
18
19
20 public static boolean isAnonymousClass(@NonNull Class<?> aClass) {
21 return isAnonymousClass(aClass.getName());
22 }
23
24 public static boolean isAnonymousClass(@NonNull String className) {
25 int positionJustBefore = className.lastIndexOf('$');
26
27 if (positionJustBefore <= 0) {
28 return false;
29 }
30
31 int nextPos = positionJustBefore + 1;
32 int n = className.length();
33
34 while (nextPos < n) {
35 char c = className.charAt(nextPos);
36 if (c < '0' || c > '9') {
37 return false;
38 }
39 nextPos++;
40 }
41
42 return true;
43 }
44 }