diff -r 84ffc347412d -r 5ab1f0890a42 emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Sun Dec 02 14:01:17 2012 +0100 +++ b/emul/src/main/java/java/lang/Class.java Sun Dec 02 15:05:36 2012 +0100 @@ -804,12 +804,17 @@ return getAnnotation(annotationClass) != null; } + @JavaScriptBody(args = "self", body = "return self.anno;") + private Object getAnnotationData() { + throw new UnsupportedOperationException(); + } /** * @since 1.5 */ public Annotation[] getAnnotations() { - throw new UnsupportedOperationException(); + Object data = getAnnotationData(); + return data == null ? new Annotation[0] : AnnotationImpl.create(data); } /**