changeset 21100:8cc759c89af7

Use @Inherited on @MarkerType annotation.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 23 Apr 2015 18:14:02 +0200
parents 3f51d02e536f
children 4dfcb45e7239
files graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/StructuralInput.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/StructuralInput.java	Thu Apr 23 14:49:24 2015 +0200
+++ b/graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/StructuralInput.java	Thu Apr 23 18:14:02 2015 +0200
@@ -35,6 +35,7 @@
 
     @Retention(RetentionPolicy.RUNTIME)
     @Target(ElementType.TYPE)
+    @Inherited
     public @interface MarkerType {
         InputType value();
     }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java	Thu Apr 23 14:49:24 2015 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java	Thu Apr 23 18:14:02 2015 +0200
@@ -123,17 +123,12 @@
 
     private InputType getInputType(ResolvedJavaType type) {
         if (type != null && structuralInputType.isAssignableFrom(type)) {
-            ResolvedJavaType current = type;
-            while (current != null) {
-                MarkerType markerType = type.getAnnotation(MarkerType.class);
-                if (markerType != null) {
-                    return markerType.value();
-                }
-
-                current = current.getSuperclass();
+            MarkerType markerType = type.getAnnotation(MarkerType.class);
+            if (markerType != null) {
+                return markerType.value();
+            } else {
+                throw GraalInternalError.shouldNotReachHere(String.format("%s extends StructuralInput, but is not annotated with @MarkerType", type));
             }
-
-            throw GraalInternalError.shouldNotReachHere(String.format("%s extends StructuralInput, but is not annotated with @MarkerType", type));
         } else {
             return InputType.Value;
         }