private static String renderParameterName(ParamTag tag) { if (!tag.isTypeParameter()) { return tag.parameterName(); } else { return '<' + tag.parameterName() + '>'; } } }
/** * Renders a document tag in the standard way. * * @param tag input * @param buffer output buffer */ private void renderTag(Tag tag, StringBuilder buffer) { buffer.append(tag.name()).append(' '); // Special handling for @param <T> tags // See http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javadoc.html#@param if ((tag instanceof ParamTag) && ((ParamTag) tag).isTypeParameter()) { ParamTag paramTag = (ParamTag) tag; buffer.append("<" + paramTag.parameterName() + ">"); String text = paramTag.parameterComment(); if (text.length() > 0) { buffer.append(' ').append(render(text, true)); } return; } buffer.append(render(tag.text(), true)); }
/** * Return param tags in this comment. If typeParams is true * include only type param tags, otherwise include only ordinary * param tags. */ private ParamTag[] paramTags(boolean typeParams) { ListBuffer<ParamTag> found = new ListBuffer<ParamTag>(); for (Tag next : tagList) { if (next instanceof ParamTag) { ParamTag p = (ParamTag)next; if (typeParams == p.isTypeParameter()) { found.append(p); } } } return found.toArray(new ParamTag[found.length()]); }
input.isTypeVariableParamTag = ((ParamTag) input.tag).isTypeParameter(); Object[] parameters = input.isTypeVariableParamTag ? (Object[]) ((MethodDoc) input.tag.holder()).typeParameters() :
input.isTypeVariableParamTag = ((ParamTag) input.tag).isTypeParameter(); Object[] parameters = input.isTypeVariableParamTag ? (Object[]) ((MethodDoc) input.tag.holder()).typeParameters() :