langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java Wed Jan 23 20:57:40 2013 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java Wed Jan 23 13:27:24 2013 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
package com.sun.tools.doclets.formats.html;
+import java.util.List;
+
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
@@ -123,11 +125,50 @@
typeLinkInfo.excludeTypeBounds = linkInfo.excludeTypeBounds;
typeLinkInfo.excludeTypeParameterLinks = linkInfo.excludeTypeParameterLinks;
typeLinkInfo.linkToSelf = linkInfo.linkToSelf;
+ typeLinkInfo.isJava5DeclarationLocation = false;
LinkOutput output = getLinkOutput(typeLinkInfo);
((LinkInfoImpl) linkInfo).displayLength += typeLinkInfo.displayLength;
return output;
}
+ protected LinkOutput getTypeAnnotationLink(LinkInfo linkInfo,
+ AnnotationDesc annotation) {
+ throw new RuntimeException("Not implemented yet!");
+ }
+
+ public LinkOutput getTypeAnnotationLinks(LinkInfo linkInfo) {
+ LinkOutput output = getOutputInstance();
+ AnnotationDesc[] annotations;
+ if (linkInfo.type instanceof AnnotatedType) {
+ annotations = linkInfo.type.asAnnotatedType().annotations();
+ } else if (linkInfo.type instanceof TypeVariable) {
+ annotations = linkInfo.type.asTypeVariable().annotations();
+ } else {
+ return output;
+ }
+
+ if (annotations.length == 0)
+ return output;
+
+ List<String> annos = m_writer.getAnnotations(0, annotations, false, linkInfo.isJava5DeclarationLocation);
+
+ boolean isFirst = true;
+ for (String anno : annos) {
+ if (!isFirst) {
+ linkInfo.displayLength += 1;
+ output.append(" ");
+ isFirst = false;
+ }
+ output.append(anno);
+ }
+ if (!annos.isEmpty()) {
+ linkInfo.displayLength += 1;
+ output.append(" ");
+ }
+
+ return output;
+ }
+
/**
* Given a class, return the appropriate tool tip.
*