src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java

changeset 1410
bfec2a1cc869
parent 1362
c46e0c9940d6
child 1521
71f35e4b93a5
equal deleted inserted replaced
1409:33abf479f202 1410:bfec2a1cc869
43 * @author Bhavesh Patel (Modified) 43 * @author Bhavesh Patel (Modified)
44 */ 44 */
45 public abstract class AbstractExecutableMemberWriter extends AbstractMemberWriter { 45 public abstract class AbstractExecutableMemberWriter extends AbstractMemberWriter {
46 46
47 public AbstractExecutableMemberWriter(SubWriterHolderWriter writer, 47 public AbstractExecutableMemberWriter(SubWriterHolderWriter writer,
48 ClassDoc classdoc) { 48 ClassDoc classdoc) {
49 super(writer, classdoc); 49 super(writer, classdoc);
50 } 50 }
51 51
52 public AbstractExecutableMemberWriter(SubWriterHolderWriter writer) { 52 public AbstractExecutableMemberWriter(SubWriterHolderWriter writer) {
53 super(writer); 53 super(writer);
59 * @param member the member to write type parameters for. 59 * @param member the member to write type parameters for.
60 * @param htmltree the content tree to which the parameters will be added. 60 * @param htmltree the content tree to which the parameters will be added.
61 * @return the display length required to write this information. 61 * @return the display length required to write this information.
62 */ 62 */
63 protected int addTypeParameters(ExecutableMemberDoc member, Content htmltree) { 63 protected int addTypeParameters(ExecutableMemberDoc member, Content htmltree) {
64 LinkInfoImpl linkInfo = new LinkInfoImpl( 64 LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
65 LinkInfoImpl.CONTEXT_MEMBER_TYPE_PARAMS, member, false); 65 LinkInfoImpl.CONTEXT_MEMBER_TYPE_PARAMS, member, false);
66 String typeParameters = writer.getTypeParameterLinks(linkInfo); 66 String typeParameters = writer.getTypeParameterLinks(linkInfo);
67 if (linkInfo.displayLength > 0) { 67 if (linkInfo.displayLength > 0) {
68 Content linkContent = new RawHtml(typeParameters); 68 Content linkContent = new RawHtml(typeParameters);
69 htmltree.addContent(linkContent); 69 htmltree.addContent(linkContent);
127 */ 127 */
128 protected void addParam(ExecutableMemberDoc member, Parameter param, 128 protected void addParam(ExecutableMemberDoc member, Parameter param,
129 boolean isVarArg, Content tree) { 129 boolean isVarArg, Content tree) {
130 if (param.type() != null) { 130 if (param.type() != null) {
131 Content link = new RawHtml(writer.getLink(new LinkInfoImpl( 131 Content link = new RawHtml(writer.getLink(new LinkInfoImpl(
132 LinkInfoImpl.CONTEXT_EXECUTABLE_MEMBER_PARAM, param.type(), 132 configuration, LinkInfoImpl.CONTEXT_EXECUTABLE_MEMBER_PARAM,
133 isVarArg))); 133 param.type(), isVarArg)));
134 tree.addContent(link); 134 tree.addContent(link);
135 } 135 }
136 if(param.name().length() > 0) { 136 if(param.name().length() > 0) {
137 tree.addContent(writer.getSpace()); 137 tree.addContent(writer.getSpace());
138 tree.addContent(param.name()); 138 tree.addContent(param.name());
159 protected void addParameters(ExecutableMemberDoc member, 159 protected void addParameters(ExecutableMemberDoc member,
160 boolean includeAnnotations, Content htmltree) { 160 boolean includeAnnotations, Content htmltree) {
161 htmltree.addContent("("); 161 htmltree.addContent("(");
162 Parameter[] params = member.parameters(); 162 Parameter[] params = member.parameters();
163 String indent = makeSpace(writer.displayLength); 163 String indent = makeSpace(writer.displayLength);
164 if (configuration().linksource) { 164 if (configuration.linksource) {
165 //add spaces to offset indentation changes caused by link. 165 //add spaces to offset indentation changes caused by link.
166 indent+= makeSpace(member.name().length()); 166 indent+= makeSpace(member.name().length());
167 } 167 }
168 int paramstart; 168 int paramstart;
169 for (paramstart = 0; paramstart < params.length; paramstart++) { 169 for (paramstart = 0; paramstart < params.length; paramstart++) {
210 * @param htmltree the content tree to which the exceptions information will be added. 210 * @param htmltree the content tree to which the exceptions information will be added.
211 */ 211 */
212 protected void addExceptions(ExecutableMemberDoc member, Content htmltree) { 212 protected void addExceptions(ExecutableMemberDoc member, Content htmltree) {
213 Type[] exceptions = member.thrownExceptionTypes(); 213 Type[] exceptions = member.thrownExceptionTypes();
214 if(exceptions.length > 0) { 214 if(exceptions.length > 0) {
215 LinkInfoImpl memberTypeParam = new LinkInfoImpl( 215 LinkInfoImpl memberTypeParam = new LinkInfoImpl(configuration,
216 LinkInfoImpl.CONTEXT_MEMBER, member, false); 216 LinkInfoImpl.CONTEXT_MEMBER, member, false);
217 int retlen = getReturnTypeLength(member); 217 int retlen = getReturnTypeLength(member);
218 writer.getTypeParameterLinks(memberTypeParam); 218 writer.getTypeParameterLinks(memberTypeParam);
219 retlen += memberTypeParam.displayLength == 0 ? 219 retlen += memberTypeParam.displayLength == 0 ?
220 0 : memberTypeParam.displayLength + 1; 220 0 : memberTypeParam.displayLength + 1;
222 member.name().length() + retlen - 4); 222 member.name().length() + retlen - 4);
223 htmltree.addContent(DocletConstants.NL); 223 htmltree.addContent(DocletConstants.NL);
224 htmltree.addContent(indent); 224 htmltree.addContent(indent);
225 htmltree.addContent("throws "); 225 htmltree.addContent("throws ");
226 indent += " "; 226 indent += " ";
227 Content link = new RawHtml(writer.getLink(new LinkInfoImpl( 227 Content link = new RawHtml(writer.getLink(new LinkInfoImpl(configuration,
228 LinkInfoImpl.CONTEXT_MEMBER, exceptions[0]))); 228 LinkInfoImpl.CONTEXT_MEMBER, exceptions[0])));
229 htmltree.addContent(link); 229 htmltree.addContent(link);
230 for(int i = 1; i < exceptions.length; i++) { 230 for(int i = 1; i < exceptions.length; i++) {
231 htmltree.addContent(","); 231 htmltree.addContent(",");
232 htmltree.addContent(DocletConstants.NL); 232 htmltree.addContent(DocletConstants.NL);
233 htmltree.addContent(indent); 233 htmltree.addContent(indent);
234 Content exceptionLink = new RawHtml(writer.getLink(new LinkInfoImpl( 234 Content exceptionLink = new RawHtml(writer.getLink(new LinkInfoImpl(
235 LinkInfoImpl.CONTEXT_MEMBER, exceptions[i]))); 235 configuration, LinkInfoImpl.CONTEXT_MEMBER, exceptions[i])));
236 htmltree.addContent(exceptionLink); 236 htmltree.addContent(exceptionLink);
237 } 237 }
238 } 238 }
239 } 239 }
240 240
244 Type rettype = method.returnType(); 244 Type rettype = method.returnType();
245 if (rettype.isPrimitive()) { 245 if (rettype.isPrimitive()) {
246 return rettype.typeName().length() + 246 return rettype.typeName().length() +
247 rettype.dimension().length(); 247 rettype.dimension().length();
248 } else { 248 } else {
249 LinkInfoImpl linkInfo = new LinkInfoImpl( 249 LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
250 LinkInfoImpl.CONTEXT_MEMBER, rettype); 250 LinkInfoImpl.CONTEXT_MEMBER, rettype);
251 writer.getLink(linkInfo); 251 writer.getLink(linkInfo);
252 return linkInfo.displayLength; 252 return linkInfo.displayLength;
253 } 253 }
254 } else { // it's a constructordoc 254 } else { // it's a constructordoc

mercurial