changeset 6293:6550737d7807

an empty array is now returned by ResolvedJavaType.declaredFields() for array and primitive types
author Doug Simon <doug.simon@oracle.com>
date Tue, 28 Aug 2012 13:54:35 +0200
parents b679a28208fd
children b0fc02623974
files graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotTypePrimitive.java
diffstat 3 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java	Tue Aug 28 11:43:06 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java	Tue Aug 28 13:54:35 2012 +0200
@@ -159,6 +159,8 @@
 
     /**
      * Returns the instance fields declared in this class sorted by field offset.
+     * A zero-length array is returned for array and primitive classes.
+     *
      * @return an array of instance fields
      */
     ResolvedJavaField[] declaredFields();
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java	Tue Aug 28 11:43:06 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java	Tue Aug 28 13:54:35 2012 +0200
@@ -250,7 +250,11 @@
     @Override
     public ResolvedJavaField[] declaredFields() {
         if (fields == null) {
-            fields = HotSpotGraalRuntime.getInstance().getCompilerToVM().JavaType_fields(this);
+            if (isArrayClass) {
+                fields = new ResolvedJavaField[0];
+            } else {
+                fields = HotSpotGraalRuntime.getInstance().getCompilerToVM().JavaType_fields(this);
+            }
         }
         return fields;
     }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotTypePrimitive.java	Tue Aug 28 11:43:06 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotTypePrimitive.java	Tue Aug 28 13:54:35 2012 +0200
@@ -152,7 +152,7 @@
 
     @Override
     public ResolvedJavaField[] declaredFields() {
-        return null;
+        return new ResolvedJavaField[0];
     }
 
     @Override