summaryrefslogtreecommitdiff
path: root/vm
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2006-04-15 21:41:46 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2006-04-15 21:41:46 +0000
commit8ffa5c4e180edd9801a841264f2fd8a23b6a7d52 (patch)
treeed83f9eb23750804bb06187896a14ea965f75247 /vm
parent8628e982ea0b53a3fcc6b039375d57fbf4d48c04 (diff)
downloadclasspath-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.java2
-rw-r--r--vm/reference/java/lang/reflect/Field.java40
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();
+
}