I'm committing the attached patch to the generics branch to add documentation
to some of the new classes.

Changelog:

2005-02-20  Andrew John Hughes  <[EMAIL PROTECTED]>

        * java/io/Closeable.java: Documented.
        * java/io/Flushable.java: Documented.
        * java/lang/Appendable.java: Corrected line overrun.
        * java/lang/Readable.java: Corrected indentation.
        * java/lang/TypeNotPresentException.java: Documented.
        * java/lang/annotation/AnnotationFormatError.java: Likewise.
        * java/lang/annotation/AnnotationTypeMismatchException.java: Likewise.
        * java/lang/reflect/GenericArrayType.java: Likewise.
        * java/lang/reflect/GenericSignatureFormatError.java: Likewise.
        * java/lang/reflect/ParameterizedType.java; Likewise.
        * java/lang/reflect/Type.java; Likewise.
        * java/lang/reflect/WildcardType.java; Likewise.        

-- 
Andrew :-)

Please avoid sending me Microsoft Office (e.g. Word, PowerPoint) attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html

No software patents in Europe -- http://nosoftwarepatents.com

"Value your freedom, or you will lose it, teaches history. 
`Don't bother us with politics' respond those who don't want to learn." 
-- Richard Stallman

"We've all been part of the biggest beta test the world has ever known --
Windows" 
-- Victor Wheatman, Gartner

Index: java/io/Closeable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/Attic/Closeable.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 Closeable.java
--- java/io/Closeable.java      26 Aug 2004 21:21:10 -0000      1.1.2.1
+++ java/io/Closeable.java      20 Feb 2005 20:48:34 -0000
@@ -1,5 +1,5 @@
 /* Closeable.java -- Closeable object
-   Copyright (C) 2004 Free Software Foundation
+   Copyright (C) 2004, 2005 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -37,7 +37,27 @@ exception statement from your version. *
 
 package java.io;
 
+/**
+ * A <code>Closeable</code> class represents a stream of
+ * data, which can be closed when it is no longer needed.
+ * Closing a stream allows the resources it uses to be
+ * freed for an alternate use.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */
 public interface Closeable
 {
-  void close() throws IOException;
+
+  /**
+   * Closes the stream represented by this class, thus freeing
+   * system resources. In that case that the stream is already
+   * in the closed state, this method has no effect.
+   *
+   * @throws IOException if an I/O error occurs in closing.
+   */
+  void close()
+    throws IOException;
+
 }
Index: java/io/Flushable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/Attic/Flushable.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 Flushable.java
--- java/io/Flushable.java      26 Aug 2004 21:21:10 -0000      1.1.2.1
+++ java/io/Flushable.java      20 Feb 2005 20:48:34 -0000
@@ -1,5 +1,5 @@
-/* Flushable.java -- flush()-able object
-   Copyright (C) 2004 Free Software Foundation
+/* Flushable.java -- Flushable object
+   Copyright (C) 2004, 2005 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -37,7 +37,26 @@ exception statement from your version. *
 
 package java.io;
 
+/**
+ * A <code>Flushable</code> class represents a stream of
+ * data, for which internally buffered data can be `flushed'.
+ * Flushing such a stream causes the buffered data to be
+ * written to the stream.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */
 public interface Flushable
 {
-  void flush() throws IOException;
+
+  /**
+   * Flushes the stream represented by this class,
+   * so that any buffered data is written to the stream.
+   *
+   * @throws IOException if an I/O error occurs in flushing.
+   */
+  void flush()
+    throws IOException;
+
 }
Index: java/lang/Appendable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/Appendable.java,v
retrieving revision 1.1.2.4
diff -u -3 -p -u -r1.1.2.4 Appendable.java
--- java/lang/Appendable.java   1 Feb 2005 00:25:38 -0000       1.1.2.4
+++ java/lang/Appendable.java   20 Feb 2005 20:48:34 -0000
@@ -55,7 +55,8 @@ import java.io.IOException;
  * </p>
  * <p>
  * <strong>Note</strong>: implementation of this interface is required for
- * any class that wishes to receive data from a <code>Formatter</code> 
instance.
+ * any class that wishes to receive data from a <code>Formatter</code>
+ * instance.
  * </p>
  *
  * @author Tom Tromey ([EMAIL PROTECTED])
Index: java/lang/Readable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/Attic/Readable.java,v
retrieving revision 1.1.2.2
diff -u -3 -p -u -r1.1.2.2 Readable.java
--- java/lang/Readable.java     26 Sep 2004 23:00:25 -0000      1.1.2.2
+++ java/lang/Readable.java     20 Feb 2005 20:48:34 -0000
@@ -1,5 +1,5 @@
 /* Readable.java -- A character source
-   Copyright (C) 2004 Free Software Foundation
+   Copyright (C) 2004, 2005 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -65,6 +65,7 @@ public interface Readable
    * @throws NullPointerException if buf is null.
    * @throws ReadOnlyBufferException if buf is read only.
    */
-  int read(CharBuffer buf) throws IOException;
+  int read(CharBuffer buf)
+    throws IOException;
 
 }
Index: java/lang/TypeNotPresentException.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/Attic/TypeNotPresentException.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 TypeNotPresentException.java
--- java/lang/TypeNotPresentException.java      27 Aug 2004 00:05:03 -0000      
1.1.2.1
+++ java/lang/TypeNotPresentException.java      20 Feb 2005 20:48:35 -0000
@@ -1,5 +1,5 @@
-/* TypeNotPresentException.java
-   Copyright (C) 2004 Free Software Foundation, Inc.
+/* TypeNotPresentException.java -- Thrown when a string-based type is missing
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,19 +38,60 @@ exception statement from your version. *
 
 package java.lang;
 
-public class TypeNotPresentException extends RuntimeException
+/**
+ * <p>
+ * Thrown when a type is accessed using a <code>String</code>-based
+ * representation, but no definition of the supplied type is found.
+ * This is effectively an unchecked equivalent of the existing
+ * <code>ClassNotFound</code> exception.  
+ * </p>
+ * <p>
+ * It may occur due to an attempt to load a missing class, interface or
+ * annotation, or when an undefined type variable is accessed.
+ * </p>
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @see ClassNotFoundException
+ * @since 1.5
+ */
+public class TypeNotPresentException
+  extends RuntimeException
 {
+  
+  /**
+   * Constructs a <code>TypeNotPresentException</code> for
+   * the supplied type.  The specified cause <code>Throwable</code>
+   * may be used to provide additional history, with regards to the
+   * root of the problem.  It is perfectly valid for this to be null,
+   * if the cause of the problem is unknown.
+   * 
+   * @param typeName the name of the missing type.
+   * @param cause the cause of this exception, or null if the cause
+   *              is unknown.
+   */
   public TypeNotPresentException(String typeName, Throwable cause)
   {
     super("type \"" + typeName + "\" not found", cause);
     this.typeName = typeName;
   }
 
+  /**
+   * Returns the name of the missing type.
+   *
+   * @return the missing type's name.
+   */
   public String typeName()
   {
     return typeName;
   }
 
+  /**
+   * The name of the missing type.
+   *
+   * @serial the missing type's name.
+   */
   // Name fixed by serialization.
   private String typeName;
+
 }
Index: java/lang/annotation/AnnotationFormatError.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/annotation/Attic/AnnotationFormatError.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 AnnotationFormatError.java
--- java/lang/annotation/AnnotationFormatError.java     7 Aug 2004 19:01:27 
-0000       1.1.2.1
+++ java/lang/annotation/AnnotationFormatError.java     20 Feb 2005 20:48:35 
-0000
@@ -1,5 +1,5 @@
-/* AnnotationFormatError.java - Thrown when annotation is malformed in class
-   Copyright (C) 2004 Free Software Foundation
+/* AnnotationFormatError.java - Thrown when an binary annotation is malformed
+   Copyright (C) 2004, 2005 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -38,22 +38,67 @@ exception statement from your version. *
 package java.lang.annotation;
 
 /**
+ * Thrown when an annotation found in a class file is
+ * malformed.  When the runtime machine finds a class file
+ * containing annotations, it attempts to parse them.
+ * This error is thrown if this operation fails.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
  * @since 1.5
  */
 public class AnnotationFormatError extends Error
 {
+
+  /**
+   * Constructs a new <code>AnnotationFormatError</code>
+   * using the specified message to give details of the error.
+   *
+   * @param message the message to use in the error output.
+   */
   public AnnotationFormatError(String message)
   {
     super(message);
   }
 
+  /**
+   * <p>
+   * Constructs a new <code>AnnotationFormatError</code>
+   * using the specified message to give details of the error.
+   * The supplied cause <code>Throwable</code> is used to
+   * provide additional history, with regards to the root
+   * of the problem.  It is perfectly valid for this to be null, if
+   * the cause is unknown.
+   * </p>
+   * <p>
+   * <strong>Note</strong>: if a cause is supplied, the error
+   * message from this cause is not automatically included in the
+   * error message given by this error.
+   * </p>
+   *
+   * @param message the message to use in the error output
+   * @param cause the cause of this error, or null if the cause
+   *              is unknown.
+   */
   public AnnotationFormatError(String message, Throwable cause)
   {
     super(message, cause);
   }
 
+  /**
+   * Constructs a new <code>AnnotationFormatError</code> using
+   * the supplied cause <code>Throwable</code> to
+   * provide additional history, with regards to the root
+   * of the problem.  It is perfectly valid for this to be null, if
+   * the cause is unknown.  If the cause is not null, the error
+   * message from this cause will also be used as the message
+   * for this error.
+   *
+   * @param cause the cause of the error.
+   */
   public AnnotationFormatError(Throwable cause)
   {
     super(cause);
   }
+
 }
Index: java/lang/annotation/AnnotationTypeMismatchException.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/annotation/Attic/AnnotationTypeMismatchException.java,v
retrieving revision 1.1.2.2
diff -u -3 -p -u -r1.1.2.2 AnnotationTypeMismatchException.java
--- java/lang/annotation/AnnotationTypeMismatchException.java   7 Jan 2005 
03:42:30 -0000       1.1.2.2
+++ java/lang/annotation/AnnotationTypeMismatchException.java   20 Feb 2005 
20:48:35 -0000
@@ -40,29 +40,72 @@ package java.lang.annotation;
 import java.lang.reflect.Method;
 
 /**
+ * Thrown when accessing an element within an annotation for
+ * which the type has changed, since compilation or serialization
+ * took place.  The mismatch between the compiled or serialized
+ * type and the current type causes this exception to be thrown.
+ * 
  * @author Tom Tromey ([EMAIL PROTECTED])
  * @author Andrew John Hughes ([EMAIL PROTECTED])
  * @since 1.5
  */
 public class AnnotationTypeMismatchException extends RuntimeException
 {
+
+  /**
+   * Constructs an <code>AnnotationTypeMismatchException</code>
+   * which is due to a mismatched type in the annotation
+   * element, <code>m</code>. The erroneous type used for the
+   * data in <code>m</code> is represented by the string,
+   * <code>type</code>.  This string is of an undefined format,
+   * and may contain the value as well as the type.
+   *
+   * @param m the element from the annotation.
+   * @param type the name of the erroneous type found in <code>m</code>.
+   */
   public AnnotationTypeMismatchException(Method m, String type)
   {
     this.element = m;
     this.foundType = type;
   }
 
+  /**
+   * Returns the element from the annotation, for which a
+   * mismatch occurred.
+   *
+   * @return the element with the mismatched type.
+   */
   public Method element()
   {
     return element;
   }
 
+  /**
+   * Returns the erroneous type used by the element,
+   * represented as a <code>String</code>.  The format
+   * of this <code>String</code> is not explicitly specified,
+   * and may contain the value as well as the type.
+   *
+   * @return the type found in the element.
+   */
   public String foundType()
   {
     return foundType;
   }
 
   // Names are chosen from serialization spec.
+  /**
+   * The element from the annotation.
+   *
+   * @serial the element with the mismatched type.
+   */
   private Method element;
+
+  /**
+   * The erroneous type used by the element.
+   *
+   * @serial the type found in the element.
+   */
   private String foundType;
+
 }
Index: java/lang/reflect/GenericArrayType.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/reflect/Attic/GenericArrayType.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 GenericArrayType.java
--- java/lang/reflect/GenericArrayType.java     27 Aug 2004 00:05:03 -0000      
1.1.2.1
+++ java/lang/reflect/GenericArrayType.java     20 Feb 2005 20:48:35 -0000
@@ -1,5 +1,5 @@
-/* GenericArrayType.java - Represent an array type with generic componet
-   Copyright (C) 2004 Free Software Foundation, Inc.
+/* GenericArrayType.java - Represent an array type with a generic component
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,7 +38,24 @@ exception statement from your version. *
 
 package java.lang.reflect;
 
-public interface GenericArrayType extends Type
+/**
+ * Represents the type of an array's components, which may be
+ * either a parameterized type or a type variable.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */
+public interface GenericArrayType 
+  extends Type
 {
+
+  /**
+   * Returns the <code>Type</code> of the components within the array.
+   *
+   * @return a <code>Type</code> instance representing the type of
+   *         the array's components.
+   */
   Type getGenericComponentType();
+
 }
Index: java/lang/reflect/GenericSignatureFormatError.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/reflect/Attic/GenericSignatureFormatError.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 GenericSignatureFormatError.java
--- java/lang/reflect/GenericSignatureFormatError.java  27 Aug 2004 00:05:03 
-0000      1.1.2.1
+++ java/lang/reflect/GenericSignatureFormatError.java  20 Feb 2005 20:48:35 
-0000
@@ -1,5 +1,5 @@
-/* GenericSignatureFormatError.java
-   Copyright (C) 2004 Free Software Foundation, Inc.
+/* GenericSignatureFormatError.java - Thrown when a signature is malformed.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,9 +38,25 @@ exception statement from your version. *
 
 package java.lang.reflect;
 
-public class GenericSignatureFormatError extends ClassFormatError
+/**
+ * Thrown on encountering a syntactically malformed signature in
+ * a reflective method.  During reflection, the generic type signature
+ * of a type, method or constructor may be interpreted by the virtual
+ * machine.  This error is thrown if this operation fails.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */
+public class GenericSignatureFormatError
+  extends ClassFormatError
 {
+
+  /**
+   * Constructs a new <code>GenericSignatureFormatError</code>.
+   */
   public GenericSignatureFormatError()
   {
   }
+
 }
Index: java/lang/reflect/ParameterizedType.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/reflect/Attic/ParameterizedType.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 ParameterizedType.java
--- java/lang/reflect/ParameterizedType.java    27 Aug 2004 00:05:03 -0000      
1.1.2.1
+++ java/lang/reflect/ParameterizedType.java    20 Feb 2005 20:48:35 -0000
@@ -1,5 +1,5 @@
-/* ParameterizedType.java
-   Copyright (C) 2004 Free Software Foundation, Inc.
+/* ParameterizedType.java -- Represents parameterized types e.g. List<String>
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,9 +38,85 @@ exception statement from your version. *
 
 package java.lang.reflect;
 
-public interface ParameterizedType extends Type
+/**
+ * <p>
+ * Represents a type which is parameterized over one or more other
+ * types.  For example, <code>List&lt;Integer&gt;</code> is a parameterized
+ * type, with <code>List</code> parameterized over the type
+ * <code>Integer</code>.
+ * </p>
+ * <p>
+ * Instances of this classes are created as needed, during reflection.
+ * On creating a parameterized type, <code>p</code>, the
+ * <code>GenericTypeDeclaration</code> corresponding to <code>p</code>
+ * is created and resolved.  Each type argument of <code>p</code>
+ * is then created recursively; details of this process are availble
+ * in the documentation of <code>TypeVariable</code>.  This creation
+ * process only happens once; repetition has no effect.
+ * </p>
+ * <p>
+ * Implementors of this interface must implement an appropriate
+ * <code>equals()</code> method.  This method should equate any
+ * two instances of the implementing class that have the same
+ * <code>GenericTypeDeclaration</code> and <code>Type</code>
+ * parameters.
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @see GenericTypeDeclaration
+ * @see TypeVariable
+ * @since 1.5
+ */
+public interface ParameterizedType
+  extends Type
 {
+
+  /**
+   * <p>
+   * Returns an array of <code>Type</code> objects, which gives
+   * the parameters of this type.
+   * </p>
+   * <p>
+   * <strong>Note</code>: the returned array may be empty.  This
+   * occurs if the supposed <code>ParameterizedType</code> is simply
+   * a normal type wrapped inside a parameterized type.
+   * </p>
+   *
+   * @return an array of <code>Type</code>s, representing the arguments
+   *         of this type.
+   * @throws TypeNotPresentException if any of the types referred to by
+   *         the parameters of this type do not actually exist.
+   * @throws MalformedParameterizedTypeException if any of the types
+   *         refer to a type which can not be instantiated.
+   */
   Type[] getActualTypeArguments();
+
+  /**
+   * Returns the type of which this type is a member.  For example,
+   * in <code>Top&lt;String&gt;.Bottom&lt;Integer&gt;</code>,
+   * <code>Bottom&lt;Integer&gt;</code> is a member of
+   * <code>Top&lt;String&gt;</code>, and so the latter is returned
+   * by this method.  Calling this method on top-level types (such as
+   * <code>Top&lt;String&gt;</code>) returns null.
+   *
+   * @return the type which owns this type.
+   * @throws TypeNotPresentException if the owner type referred to by
+   *         this type do not actually exist.
+   * @throws MalformedParameterizedTypeException if the owner type
+   *         referred to by this type can not be instantiated.
+   */
   Type getOwnerType();
+
+  /**
+   * Returns a version of this type without parameters, which corresponds
+   * to the class or interface which declared the type.  For example,
+   * the raw type corresponding to <code>List&lt;Double&gt;</code>
+   * is <code>List</code>, which was declared by the <code>List</code>
+   * class.
+   *
+   * @return the raw variant of this type (i.e. the type without
+   *         parameters).
+   */
   Type getRawType();
+
 }
Index: java/lang/reflect/Type.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/reflect/Attic/Type.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 Type.java
--- java/lang/reflect/Type.java 27 Aug 2004 00:05:03 -0000      1.1.2.1
+++ java/lang/reflect/Type.java 20 Feb 2005 20:48:35 -0000
@@ -1,5 +1,5 @@
 /* Type.java - Superinterface for all types.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,6 +38,18 @@ exception statement from your version. *
 
 package java.lang.reflect;
 
+/**
+ * Represents any <code>Type</code> within the Java programming
+ * language.  This may be a primitive type (e.g. <code>int</code>,
+ * an array type (e.g. <code>double[]>/code>), a raw type
+ * (e.g. <code>Calendar</code>), a parameterized type
+ * (e.g. <code>List&lt;Boolean&gt;</code>, or a type
+ * variable (e.g. <code>T extends String</code>).
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */ 
 public interface Type
 {
 }
Index: java/lang/reflect/WildcardType.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/java/lang/reflect/Attic/WildcardType.java,v
retrieving revision 1.1.2.1
diff -u -3 -p -u -r1.1.2.1 WildcardType.java
--- java/lang/reflect/WildcardType.java 27 Aug 2004 00:05:03 -0000      1.1.2.1
+++ java/lang/reflect/WildcardType.java 20 Feb 2005 20:48:35 -0000
@@ -1,5 +1,5 @@
-/* WildcardType.java
-   Copyright (C) 2004 Free Software Foundation, Inc.
+/* WildcardType.java -- A wildcard type expression e.g. ? extends String
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,8 +38,78 @@ exception statement from your version. *
 
 package java.lang.reflect;
 
+/**
+ * Represents a wildcard type expression, where the type variable
+ * is unnamed.  The simplest example of this is <code>?</code>,
+ * which represents any unbounded type.  Another example is
+ * <code>? extends Number</code>, which specifies any type
+ * which is a subclass of <code>Number</code> (<code>Number</code>
+ * is the upper bound).
+ * </p>
+ * <p>
+ * <code>? super String</code> gives the type a less common lower bound,
+ * which means that the type must be either a <code>String</code> or one
+ * of its superclasses. This can be useful in working with collections.
+ * You may want a method to add instances of a class to a collection
+ * with a more generic type (e.g. adding <code>String</code>s to
+ * a list of <code>Object</code>s), but don't want to allow users
+ * to pass in a collection with a more specific type.
+ * </p>
+ *
+ * @author Tom Tromey ([EMAIL PROTECTED])
+ * @author Andrew John Hughes ([EMAIL PROTECTED])
+ * @since 1.5
+ */
 public interface WildcardType extends Type
 {
+
+  /**
+   * <p>
+   * Returns an array of <code>Type</code>s, which specify the
+   * lower bounds of this type.  The default lower bound is
+   * <code>null</code>, which causes this method to return an
+   * empty array.
+   * </p>
+   * <p>
+   * In generating the array of <code>Type</code>s, each
+   * <code>ParameterizedType</code> or <code>TypeVariable</code> is
+   * created, (see the documentation for these classes for details of this
+   * process), if necessary, while all other types are simply
+   * resolved.
+   * </p>
+   *
+   * @return an array of <code>Type</code> objects, representing
+   *         the wildcard type's lower bounds.
+   * @throws TypeNotPresentException if any of the types referred to by
+   *         the lower bounds of this type do not actually exist.
+   * @throws MalformedParameterizedTypeException if any of the types
+   *         refer to a type which can not be instantiated.
+   */ 
   Type[] getLowerBounds();
+
+  /**
+   * <p>
+   * Returns an array of <code>Type</code>s, which specify the
+   * upper bounds of this type.  The default upper bound is
+   * <code>Object</code>, which causes this method to return an
+   * array, containing just the <code>Type</code> instance for
+   * <code>Object</code>.
+   * </p>
+   * <p>
+   * In generating the array of <code>Type</code>s, each
+   * <code>ParameterizedType</code> or <code>TypeVariable</code> is
+   * created, (see the documentation for these classes for details of this
+   * process), if necessary, while all other types are simply
+   * resolved.
+   * </p>
+   *
+   * @return an array of <code>Type</code> objects, representing
+   *         the wildcard type's upper bounds.
+   * @throws TypeNotPresentException if any of the types referred to by
+   *         the upper bounds of this type do not actually exist.
+   * @throws MalformedParameterizedTypeException if any of the types
+   *         refer to a type which can not be instantiated.
+   */ 
   Type[] getUpperBounds();
+
 }

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to