summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2008-02-17 23:48:54 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2008-02-17 23:48:54 +0000
commit39fcdb0d8413bade899889d75227aa6bbc51c52c (patch)
tree2358ad6fcd54c0a2789eef6a36e11601684aafc3
parent9c2f74c52465a9799d1262bdced79388ad963a15 (diff)
downloadclasspath-39fcdb0d8413bade899889d75227aa6bbc51c52c.tar.gz
2008-02-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
* vm/reference/java/lang/reflect/Constructor.java, * vm/reference/java/lang/reflect/Method.java: (getParameterAnnotations()): Added.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS1
-rw-r--r--vm/reference/java/lang/reflect/Constructor.java23
-rw-r--r--vm/reference/java/lang/reflect/Method.java23
4 files changed, 53 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f12929a89..fe4d0393b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-02-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * vm/reference/java/lang/reflect/Constructor.java,
+ * vm/reference/java/lang/reflect/Method.java:
+ (getParameterAnnotations()): Added.
+
+2008-02-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
* javax/swing/tree/DefaultMutableTreeNode.java:
Add generics.
* javax/swing/tree/DefaultTreeCellEditor.java:
diff --git a/NEWS b/NEWS
index be47433c1..b5655260f 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ JAVAC=<preferred javac>
Runtime interface changes:
* Removed VMFloat.floatToIntBits amd VMDouble.doubleToLongBits.
+* Added new getParameterAnnotations() methods in Constructor and Method.
New in release 0.96.1 (Oct 16, 2007)
diff --git a/vm/reference/java/lang/reflect/Constructor.java b/vm/reference/java/lang/reflect/Constructor.java
index eebee5f5d..29f5c4649 100644
--- a/vm/reference/java/lang/reflect/Constructor.java
+++ b/vm/reference/java/lang/reflect/Constructor.java
@@ -393,4 +393,27 @@ public final class Constructor<T>
MethodSignatureParser p = new MethodSignatureParser(this, sig);
return p.getGenericParameterTypes();
}
+
+ /**
+ * <p>
+ * Return an array of arrays representing the annotations on each
+ * of the constructor's parameters. The outer array is aligned against
+ * the parameters of the constructors and is thus equal in length to
+ * the number of parameters (thus having a length zero if there are none).
+ * Each array element in the outer array contains an inner array which
+ * holds the annotations. This array has a length of zero if the parameter
+ * has no annotations.
+ * </p>
+ * <p>
+ * The returned annotations are serialized. Changing the annotations has
+ * no affect on the return value of future calls to this method.
+ * </p>
+ *
+ * @return an array of arrays which represents the annotations used on the
+ * parameters of this constructor. The order of the array elements
+ * matches the declaration order of the parameters.
+ * @since 1.5
+ */
+ public native Annotation[][] getParameterAnnotations();
+
}
diff --git a/vm/reference/java/lang/reflect/Method.java b/vm/reference/java/lang/reflect/Method.java
index 2db59fee4..89fb43247 100644
--- a/vm/reference/java/lang/reflect/Method.java
+++ b/vm/reference/java/lang/reflect/Method.java
@@ -462,4 +462,27 @@ extends AccessibleObject implements Member, GenericDeclaration
* @since 1.5
*/
public native Object getDefaultValue();
+
+ /**
+ * <p>
+ * Return an array of arrays representing the annotations on each
+ * of the method's parameters. The outer array is aligned against
+ * the parameters of the method and is thus equal in length to
+ * the number of parameters (thus having a length zero if there are none).
+ * Each array element in the outer array contains an inner array which
+ * holds the annotations. This array has a length of zero if the parameter
+ * has no annotations.
+ * </p>
+ * <p>
+ * The returned annotations are serialized. Changing the annotations has
+ * no affect on the return value of future calls to this method.
+ * </p>
+ *
+ * @return an array of arrays which represents the annotations used on the
+ * parameters of this method. The order of the array elements
+ * matches the declaration order of the parameters.
+ * @since 1.5
+ */
+ public native Annotation[][] getParameterAnnotations();
+
}