# HG changeset patch # User Christian Wimmer # Date 1440026121 25200 # Node ID e4f0d819fe22a08c893e8106529c28f792449006 # Parent 0a0c0111ecda34c4d8ac6b74745c201613ae6519 Add getAnnotations() method to ResolvedJavaType and ResolvedJavaField diff -r 0a0c0111ecda -r e4f0d819fe22 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedJavaFieldImpl.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedJavaFieldImpl.java Wed Aug 19 13:37:41 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedJavaFieldImpl.java Wed Aug 19 16:15:21 2015 -0700 @@ -203,6 +203,15 @@ } @Override + public Annotation[] getAnnotations() { + Field javaField = toJava(); + if (javaField != null) { + return javaField.getAnnotations(); + } + return new Annotation[0]; + } + + @Override public T getAnnotation(Class annotationClass) { Field javaField = toJava(); if (javaField != null) { diff -r 0a0c0111ecda -r e4f0d819fe22 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Aug 19 13:37:41 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Aug 19 16:15:21 2015 -0700 @@ -742,6 +742,11 @@ } @Override + public Annotation[] getAnnotations() { + return mirror().getAnnotations(); + } + + @Override public T getAnnotation(Class annotationClass) { return mirror().getAnnotation(annotationClass); } diff -r 0a0c0111ecda -r e4f0d819fe22 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedPrimitiveType.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedPrimitiveType.java Wed Aug 19 13:37:41 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedPrimitiveType.java Wed Aug 19 16:15:21 2015 -0700 @@ -209,6 +209,11 @@ } @Override + public Annotation[] getAnnotations() { + return new Annotation[0]; + } + + @Override public T getAnnotation(Class annotationClass) { return null; } diff -r 0a0c0111ecda -r e4f0d819fe22 jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaField.java --- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaField.java Wed Aug 19 13:37:41 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaField.java Wed Aug 19 16:15:21 2015 -0700 @@ -61,6 +61,12 @@ ResolvedJavaType getDeclaringClass(); /** + * Returns all annotations of this field. If no annotations are present, an array of length 0 is + * returned. + */ + Annotation[] getAnnotations(); + + /** * Returns the annotation for the specified type of this field, if such an annotation is * present. * diff -r 0a0c0111ecda -r e4f0d819fe22 jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaType.java --- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaType.java Wed Aug 19 13:37:41 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ResolvedJavaType.java Wed Aug 19 16:15:21 2015 -0700 @@ -290,6 +290,12 @@ ResolvedJavaField[] getStaticFields(); /** + * Returns all annotations of this class. If no annotations are present, an array of length 0 is + * returned. + */ + Annotation[] getAnnotations(); + + /** * Returns the annotation for the specified type of this class, if such an annotation is * present. *