1.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Tue Feb 24 11:12:53 2015 +0100
1.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Sat Mar 19 10:31:13 2016 +0100
1.3 @@ -67,6 +67,33 @@
1.4 public static String name() {
1.5 return IOException.class.getName().toString();
1.6 }
1.7 +
1.8 + @ClassesMarker(self = Self.class, number = 42, nicknames = {})
1.9 + public static class Self {
1.10 + }
1.11 +
1.12 + @ClassesMarker(number = 42, nicknames = {})
1.13 + public static class DefaultSelf {
1.14 + }
1.15 +
1.16 + public static int self() {
1.17 + ClassesMarker cm = Self.class.getAnnotation(ClassesMarker.class);
1.18 + if (cm.self() == Self.class) {
1.19 + return 1;
1.20 + } else {
1.21 + return 0;
1.22 + }
1.23 + }
1.24 +
1.25 + public static int defaultSelf() {
1.26 + ClassesMarker cm = DefaultSelf.class.getAnnotation(ClassesMarker.class);
1.27 + if (cm.self() == Object.class) {
1.28 + return 1;
1.29 + } else {
1.30 + throw new IllegalStateException("" + cm.self());
1.31 + }
1.32 + }
1.33 +
1.34 public static String simpleName() {
1.35 return IOException.class.getSimpleName();
1.36 }
1.37 @@ -103,6 +130,11 @@
1.38 assert !((Object)cm instanceof Class) : "Is not Class " + cm;
1.39 return cm == null ? -1 : cm.number();
1.40 }
1.41 + public static int getMarkerDefault() {
1.42 + try { throw new IllegalStateException(); } catch (Exception e) {}
1.43 + ClassesMarker cm = CD.class.getAnnotation(ClassesMarker.class);
1.44 + return cm == null ? -1 : cm.number();
1.45 + }
1.46 public static String getMarkerNicknames() {
1.47 ClassesMarker cm = Classes.class.getAnnotation(ClassesMarker.class);
1.48 if (cm == null) {
1.49 @@ -149,6 +181,17 @@
1.50 }
1.51 return cm.count().name();
1.52 }
1.53 +
1.54 + @ClassesMarker(nicknames = {})
1.55 + class CD {
1.56 + }
1.57 + public static String getMarkerED() {
1.58 + ClassesMarker cm = CD.class.getAnnotation(ClassesMarker.class);
1.59 + if (cm == null) {
1.60 + return null;
1.61 + }
1.62 + return cm.count().name();
1.63 + }
1.64 public static String getNamer(boolean direct) {
1.65 if (direct) {
1.66 ClassesNamer cm = Classes.class.getAnnotation(ClassesNamer.class);