# HG changeset patch # User Doug Simon # Date 1346154875 -7200 # Node ID 6550737d7807f3c6713de006f3f2e59a211bb364 # Parent b679a28208fd1afa69bcdfc2d06a753d37ab9225 an empty array is now returned by ResolvedJavaType.declaredFields() for array and primitive types diff -r b679a28208fd -r 6550737d7807 graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java --- 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(); diff -r b679a28208fd -r 6550737d7807 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java --- 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; } diff -r b679a28208fd -r 6550737d7807 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotTypePrimitive.java --- 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