Index: libraryInterface/Common/src/java/lang/Class.java
===================================================================
--- libraryInterface/Common/src/java/lang/Class.java	(revision 14031)
+++ libraryInterface/Common/src/java/lang/Class.java	(working copy)
@@ -542,6 +542,10 @@ public final class Class<T> implements S
     }
   }
 
+  public boolean isAnnotation() {
+    return type.isClassType() && type.asClass().isAnnotation();
+  }
+
   public boolean isArray() {
     return type.isArrayType();
   }
@@ -564,6 +568,10 @@ public final class Class<T> implements S
     return type.isPrimitiveType();
   }
 
+  public boolean isSynthetic() {
+    return type.isClassType() && type.asClass().isSynthetic();
+  }
+
   public T newInstance() throws IllegalAccessException,
                                      InstantiationException,
                                      ExceptionInInitializerError,
Index: rvm/src/org/jikesrvm/classloader/VM_Class.java
===================================================================
--- rvm/src/org/jikesrvm/classloader/VM_Class.java	(revision 14030)
+++ rvm/src/org/jikesrvm/classloader/VM_Class.java	(working copy)
@@ -337,7 +337,7 @@ public final class VM_Class extends VM_T
   /**
    * Annotation type
    */
-  private boolean isAnnotation() {
+  public boolean isAnnotation() {
     return (modifiers & ACC_ANNOTATION) != 0;
   }
 

