diff -r 0b33848114b1 -r 1d03cb35fbda emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Tue Dec 04 12:16:16 2012 +0100 +++ b/emul/src/main/java/java/lang/Class.java Tue Dec 04 14:31:11 2012 +0100 @@ -27,6 +27,7 @@ import java.io.InputStream; import java.lang.annotation.Annotation; +import java.lang.reflect.TypeVariable; import org.apidesign.bck2brwsr.core.JavaScriptBody; /** @@ -75,10 +76,10 @@ * @since JDK1.0 */ public final - class Class implements java.io.Serializable { -// java.lang.reflect.GenericDeclaration, -// java.lang.reflect.Type, -// java.lang.reflect.AnnotatedElement { + class Class implements java.io.Serializable, + java.lang.reflect.GenericDeclaration, + java.lang.reflect.Type, + java.lang.reflect.AnnotatedElement { private static final int ANNOTATION= 0x00002000; private static final int ENUM = 0x00004000; private static final int SYNTHETIC = 0x00001000; @@ -396,6 +397,26 @@ @JavaScriptBody(args = "self", body = "return self.jvmName;") private native String jvmName(); + + /** + * Returns an array of {@code TypeVariable} objects that represent the + * type variables declared by the generic declaration represented by this + * {@code GenericDeclaration} object, in declaration order. Returns an + * array of length 0 if the underlying generic declaration declares no type + * variables. + * + * @return an array of {@code TypeVariable} objects that represent + * the type variables declared by this generic declaration + * @throws java.lang.reflect.GenericSignatureFormatError if the generic + * signature of this generic declaration does not conform to + * the format specified in + * The Java™ Virtual Machine Specification + * @since 1.5 + */ + public TypeVariable>[] getTypeParameters() { + throw new UnsupportedOperationException(); + } + /** * Returns the {@code Class} representing the superclass of the entity * (class, interface, primitive type or void) represented by this