diff options
author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2006-04-15 21:41:46 +0000 |
---|---|---|
committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2006-04-15 21:41:46 +0000 |
commit | 8ffa5c4e180edd9801a841264f2fd8a23b6a7d52 (patch) | |
tree | ed83f9eb23750804bb06187896a14ea965f75247 /vm | |
parent | 8628e982ea0b53a3fcc6b039375d57fbf4d48c04 (diff) | |
download | classpath-8ffa5c4e180edd9801a841264f2fd8a23b6a7d52.tar.gz |
2006-04-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/accessibility/AccessibleAction.java:
(DECREMENT): Added field.
(INCREMENT): Likewise.
(TOGGLE_EXPAND): Likewise.
* javax/accessibility/AccessibleRole.java:
(EDITBAR): Added field.
(FOOTER): Likewise.
(HEADER): Likewise.
(PARAGRAPH): Likewise.
(PROGRESS_MONITOR): Likewise.
(RULER): Likewise.
* javax/accessibility/AccessibleState.java:
(INDETERMINATE): Added field.
(MANAGES_DESCENDANTS): Likewise.
(TRUNCATED): Likewise.
* vm/reference/java/lang/reflect/Constructor.java:
Fixed copyright header to match generics branch.
* vm/reference/java/lang/reflect/Field.java:
Fixed copyright header to match generics branch.
(toGenericString()): Ported from generics branch.
(getGenericType()): Likewise.
(getSignature()): Likewise.
Diffstat (limited to 'vm')
-rw-r--r-- | vm/reference/java/lang/reflect/Constructor.java | 2 | ||||
-rw-r--r-- | vm/reference/java/lang/reflect/Field.java | 40 |
2 files changed, 40 insertions, 2 deletions
diff --git a/vm/reference/java/lang/reflect/Constructor.java b/vm/reference/java/lang/reflect/Constructor.java index a8733f46a..55e5ac0dd 100644 --- a/vm/reference/java/lang/reflect/Constructor.java +++ b/vm/reference/java/lang/reflect/Constructor.java @@ -1,5 +1,5 @@ /* java.lang.reflect.Constructor - reflection of Java constructors - Copyright (C) 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. diff --git a/vm/reference/java/lang/reflect/Field.java b/vm/reference/java/lang/reflect/Field.java index 874b7da91..d0e84aba9 100644 --- a/vm/reference/java/lang/reflect/Field.java +++ b/vm/reference/java/lang/reflect/Field.java @@ -1,5 +1,5 @@ /* java.lang.reflect.Field - reflection of Java fields - Copyright (C) 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,8 @@ package java.lang.reflect; import gnu.java.lang.ClassHelper; +import gnu.java.lang.reflect.FieldSignatureParser; + /** * The Field class represents a member variable of a class. It also allows * dynamic access to a member, via reflection. This works for both @@ -212,6 +214,16 @@ extends AccessibleObject implements Member return sb.toString(); } + public String toGenericString() + { + StringBuffer sb = new StringBuffer(64); + Modifier.toString(getModifiers(), sb).append(' '); + sb.append(getGenericType()).append(' '); + sb.append(getDeclaringClass().getName()).append('.'); + sb.append(getName()); + return sb.toString(); + } + /** * Get the value of this Field. If it is primitive, it will be wrapped * in the appropriate wrapper type (boolean = java.lang.Boolean).<p> @@ -621,4 +633,30 @@ extends AccessibleObject implements Member */ public native void setDouble(Object o, double value) throws IllegalAccessException; + + /** + * Return the generic type of the field. If the field type is not a generic + * type, the method returns the same as <code>getType()</code>. + * + * @throws GenericSignatureFormatError if the generic signature does + * not conform to the format specified in the Virtual Machine + * specification, version 3. + * @since 1.5 + */ + public Type getGenericType() + { + String signature = getSignature(); + if (signature == null) + return getType(); + FieldSignatureParser p = new FieldSignatureParser(getDeclaringClass(), + signature); + return p.getFieldType(); + } + + /** + * Return the String in the Signature attribute for this field. If there + * is no Signature attribute, return null. + */ + private native String getSignature(); + } |