# HG changeset patch # User Roland Schatz # Date 1429805642 -7200 # Node ID 8cc759c89af789326565a12e77430d07ee33d853 # Parent 3f51d02e536f9ddd3ab2c9a4ce6bb88ec05c453e Use @Inherited on @MarkerType annotation. diff -r 3f51d02e536f -r 8cc759c89af7 graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/StructuralInput.java --- 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(); } diff -r 3f51d02e536f -r 8cc759c89af7 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java --- 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; }