summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2008-03-06 20:22:17 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2008-03-06 20:22:17 +0000
commit1389705aa5415deb92cd505530c39348795a7a5a (patch)
tree29da7c4cee658d0069ff1f1dfc5d7c8d273a07d6
parent8b2997fa8e0e25964540141d181779f29297a11a (diff)
downloadclasspath-1389705aa5415deb92cd505530c39348795a7a5a.tar.gz
2008-03-05 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/lang/reflect/Constructor.java: (cons): Make package-private. (Constructor(VMConstructor)): Set cons in VM interface. * java/lang/reflect/Field.java: (f): Make package-private. (Field(VMField)): Set f in VM interface. * java/lang/reflect/Method.java: (m): Make package-private. (Method(VMMethod)): Set m in VM interface. * vm/reference/java/lang/reflect/VMConstructor.java: (cons): Added reference to Constructor instance. * vm/reference/java/lang/reflect/VMField.java: (f): Added reference to Field instance. * vm/reference/java/lang/reflect/VMMethod.java, (m): Added reference to Method instance.
-rw-r--r--ChangeLog19
-rwxr-xr-xjava/lang/reflect/Constructor.java3
-rw-r--r--java/lang/reflect/Field.java3
-rw-r--r--java/lang/reflect/Method.java3
-rw-r--r--vm/reference/java/lang/reflect/VMConstructor.java6
-rw-r--r--vm/reference/java/lang/reflect/VMField.java6
-rw-r--r--vm/reference/java/lang/reflect/VMMethod.java6
7 files changed, 43 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 92580a530..115b30076 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2008-03-05 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * java/lang/reflect/Constructor.java:
+ (cons): Make package-private.
+ (Constructor(VMConstructor)): Set cons in
+ VM interface.
+ * java/lang/reflect/Field.java:
+ (f): Make package-private.
+ (Field(VMField)): Set f in VM interface.
+ * java/lang/reflect/Method.java:
+ (m): Make package-private.
+ (Method(VMMethod)): Set m in VM interface.
+ * vm/reference/java/lang/reflect/VMConstructor.java:
+ (cons): Added reference to Constructor instance.
+ * vm/reference/java/lang/reflect/VMField.java:
+ (f): Added reference to Field instance.
+ * vm/reference/java/lang/reflect/VMMethod.java,
+ (m): Added reference to Method instance.
+
2008-03-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/lang/reflect/AccessibleObject.java:
diff --git a/java/lang/reflect/Constructor.java b/java/lang/reflect/Constructor.java
index 8aae80a42..55b82e898 100755
--- a/java/lang/reflect/Constructor.java
+++ b/java/lang/reflect/Constructor.java
@@ -87,7 +87,7 @@ public final class Constructor<T>
private MethodSignatureParser p;
- private VMConstructor cons;
+ VMConstructor cons;
/**
* This class is uninstantiable outside this package.
@@ -95,6 +95,7 @@ public final class Constructor<T>
Constructor(VMConstructor cons)
{
this.cons = cons;
+ cons.cons = this;
}
private Constructor()
diff --git a/java/lang/reflect/Field.java b/java/lang/reflect/Field.java
index 37b5486fb..4c2c183c9 100644
--- a/java/lang/reflect/Field.java
+++ b/java/lang/reflect/Field.java
@@ -88,7 +88,7 @@ extends AccessibleObject implements Member
private FieldSignatureParser p;
- private VMField f;
+ VMField f;
/**
* This class is uninstantiable outside the package.
@@ -96,6 +96,7 @@ extends AccessibleObject implements Member
Field(VMField f)
{
this.f = f;
+ f.f = this;
}
/**
diff --git a/java/lang/reflect/Method.java b/java/lang/reflect/Method.java
index ed0e6afdf..e787fb3f6 100644
--- a/java/lang/reflect/Method.java
+++ b/java/lang/reflect/Method.java
@@ -88,7 +88,7 @@ extends AccessibleObject implements Member, GenericDeclaration
private MethodSignatureParser p;
- private VMMethod m;
+ VMMethod m;
/**
* This class is uninstantiable outside this package.
@@ -96,6 +96,7 @@ extends AccessibleObject implements Member, GenericDeclaration
Method(VMMethod m)
{
this.m = m;
+ m.m = this;
}
/**
diff --git a/vm/reference/java/lang/reflect/VMConstructor.java b/vm/reference/java/lang/reflect/VMConstructor.java
index 93b92b419..dbed90388 100644
--- a/vm/reference/java/lang/reflect/VMConstructor.java
+++ b/vm/reference/java/lang/reflect/VMConstructor.java
@@ -47,6 +47,12 @@ final class VMConstructor
Class clazz;
int slot;
+ /**
+ * This field allows us to refer back to the main constructor instance.
+ * It is set by the constructor of Constructor.
+ */
+ Constructor cons;
+
VMConstructor(Class clazz, int slot)
{
this.clazz = clazz;
diff --git a/vm/reference/java/lang/reflect/VMField.java b/vm/reference/java/lang/reflect/VMField.java
index b54cd16e2..5d68914b8 100644
--- a/vm/reference/java/lang/reflect/VMField.java
+++ b/vm/reference/java/lang/reflect/VMField.java
@@ -45,6 +45,12 @@ final class VMField
Class declaringClass;
String name;
int slot;
+
+ /**
+ * This field allows us to refer back to the main constructor instance.
+ * It is set by the constructor of Field.
+ */
+ Field f;
VMField(Class declaringClass, String name, int slot)
{
diff --git a/vm/reference/java/lang/reflect/VMMethod.java b/vm/reference/java/lang/reflect/VMMethod.java
index 9654452ca..99c176f10 100644
--- a/vm/reference/java/lang/reflect/VMMethod.java
+++ b/vm/reference/java/lang/reflect/VMMethod.java
@@ -48,6 +48,12 @@ final class VMMethod
String name;
int slot;
+ /**
+ * This field allows us to refer back to the main constructor instance.
+ * It is set by the constructor of Field.
+ */
+ Method m;
+
public Class getDeclaringClass()
{
return declaringClass;