diff -r 40adaf938847 -r 97f6839673d6 src/share/classes/com/sun/tools/javac/code/Type.java
--- a/src/share/classes/com/sun/tools/javac/code/Type.java Mon Mar 18 14:40:32 2013 -0700
+++ b/src/share/classes/com/sun/tools/javac/code/Type.java Mon Mar 18 18:33:13 2013 -0700
@@ -25,6 +25,9 @@
package com.sun.tools.javac.code;
+import com.sun.tools.javac.model.JavacAnnoConstructs;
+import com.sun.tools.javac.model.JavacTypes;
+import java.lang.annotation.Annotation;
import java.util.Collections;
import java.util.EnumMap;
import java.util.EnumSet;
@@ -258,6 +261,23 @@
return this;
}
+ @Override
+ public List extends Attribute.TypeCompound> getAnnotationMirrors() {
+ return List.nil();
+ }
+
+ @Override
+ public A getAnnotation(Class annotationType) {
+ return null;
+ }
+
+ @Override
+ public A[] getAnnotationsByType(Class annotationType) {
+ @SuppressWarnings("unchecked")
+ A[] tmp = (A[]) java.lang.reflect.Array.newInstance(annotationType, 0);
+ return tmp;
+ }
+
/** Return the base types of a list of types.
*/
public static List baseTypes(List ts) {
@@ -354,8 +374,8 @@
}
if (args.head.unannotatedType().tag == ARRAY) {
buf.append(((ArrayType)args.head.unannotatedType()).elemtype);
- if (args.head.getAnnotations().nonEmpty()) {
- buf.append(args.head.getAnnotations());
+ if (args.head.getAnnotationMirrors().nonEmpty()) {
+ buf.append(args.head.getAnnotationMirrors());
}
buf.append("...");
} else {
@@ -366,7 +386,6 @@
/** Access methods.
*/
- public List extends AnnotationMirror> getAnnotations() { return List.nil(); }
public List getTypeArguments() { return List.nil(); }
public Type getEnclosingType() { return null; }
public List getParameterTypes() { return List.nil(); }
@@ -1581,13 +1600,23 @@
}
@Override
- public TypeKind getKind() {
- return underlyingType.getKind();
+ public List extends Attribute.TypeCompound> getAnnotationMirrors() {
+ return typeAnnotations;
}
@Override
- public List extends AnnotationMirror> getAnnotations() {
- return typeAnnotations;
+ public A getAnnotation(Class annotationType) {
+ return JavacAnnoConstructs.getAnnotation(this, annotationType);
+ }
+
+ @Override
+ public A[] getAnnotationsByType(Class annotationType) {
+ return JavacAnnoConstructs.getAnnotationsByType(this, annotationType);
+ }
+
+ @Override
+ public TypeKind getKind() {
+ return underlyingType.getKind();
}
@Override