changeset 6430:c96407df35ea

fixed HotSpotResolvedJavaType.componentType() to correctly implement the specification in JavaType
author Doug Simon <doug.simon@oracle.com>
date Tue, 25 Sep 2012 09:01:58 +0200
parents 5d092bd11278
children 2e376f8ea4e2
files graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaType.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaType.java	Mon Sep 24 17:15:34 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaType.java	Tue Sep 25 09:01:58 2012 +0200
@@ -71,6 +71,7 @@
     /**
      * For array types, gets the type of the components.
      * This will be null if this is not an array type.
+     * This method is analogous to {@link Class#getComponentType()}.
      *
      * @return the component type of this type if it is an array type otherwise null
      */
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java	Mon Sep 24 17:15:34 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java	Tue Sep 25 09:01:58 2012 +0200
@@ -74,8 +74,10 @@
 
     @Override
     public ResolvedJavaType componentType() {
-        assert isArrayClass();
-        return (ResolvedJavaType) HotSpotGraalRuntime.getInstance().getCompilerToVM().JavaType_componentType(this);
+        if (isArrayClass) {
+            return (ResolvedJavaType) HotSpotGraalRuntime.getInstance().getCompilerToVM().JavaType_componentType(this);
+        }
+        return null;
     }
 
     @Override