private static List<MethodInspect> getInspects(ExecutableMemberDoc[] memberDocs) { List<MethodInspect> methodInspects = new ArrayList<>(memberDocs.length); for (ExecutableMemberDoc memberDoc : memberDocs) { List<String> signature = new ArrayList<>(); for (Parameter parameter : memberDoc.parameters()) { signature.add(parameter.type().qualifiedTypeName() + " " + parameter.name()); } MethodInspect methodInspect = new MethodInspect(memberDoc.name(), memberDoc.getRawCommentText(), String.join(", ", signature)); methodInspects.add(methodInspect); } return methodInspects; } }
public String getAnchor(ExecutableMemberDoc emd, boolean isProperty) { if (isProperty) { return emd.name(); } StringBuilder signature = new StringBuilder(emd.signature()); StringBuilder signatureParsed = new StringBuilder(); int counter = 0; for (int i = 0; i < signature.length(); i++) { char c = signature.charAt(i); if (c == '<') { counter++; } else if (c == '>') { counter--; } else if (counter == 0) { signatureParsed.append(c); } } return emd.name() + signatureParsed.toString(); }
public String getAnchor( ExecutableMemberDoc emd ) { StringBuilder signature = new StringBuilder( emd.signature() ); StringBuilder signatureParsed = new StringBuilder(); int counter = 0; for( int i = 0; i < signature.length(); i++ ) { char c = signature.charAt( i ); if( c == '<' ) { counter++; } else if( c == '>' ) { counter--; } else if( counter == 0 ) { signatureParsed.append( c ); } } return emd.name() + signatureParsed.toString(); }
protected void writeSummaryLink(int context, ClassDoc cd, ProgramElementDoc member) { ExecutableMemberDoc emd = (ExecutableMemberDoc)member; String name = emd.name(); writer.strong(); writer.printDocLink(context, cd, (MemberDoc) emd, name, false); writer.strongEnd(); writer.displayLength = name.length(); writeParameters(emd, false); }
/** * For backward compatibility, include an anchor using the erasures of the * parameters. NOTE: We won't need this method anymore after we fix * see tags so that they use the type instead of the erasure. * * @param emd the ExecutableMemberDoc to anchor to. * @return the 1.4.x style anchor for the ExecutableMemberDoc. */ protected String getErasureAnchor(ExecutableMemberDoc emd) { StringBuffer buf = new StringBuffer(emd.name() + "("); Parameter[] params = emd.parameters(); boolean foundTypeVariable = false; for (int i = 0; i < params.length; i++) { if (i > 0) { buf.append(","); } Type t = params[i].type(); foundTypeVariable = foundTypeVariable || t.asTypeVariable() != null; buf.append(t.isPrimitive() ? t.typeName() : t.asClassDoc().qualifiedName()); buf.append(t.dimension()); } buf.append(")"); return foundTypeVariable ? buf.toString() : null; } }
/** * For backward compatibility, include an anchor using the erasures of the * parameters. NOTE: We won't need this method anymore after we fix * see tags so that they use the type instead of the erasure. * * @param emd the ExecutableMemberDoc to anchor to. * @return the 1.4.x style anchor for the ExecutableMemberDoc. */ protected String getErasureAnchor(ExecutableMemberDoc emd) { StringBuilder buf = new StringBuilder(emd.name() + "("); Parameter[] params = emd.parameters(); boolean foundTypeVariable = false; for (int i = 0; i < params.length; i++) { if (i > 0) { buf.append(","); } Type t = params[i].type(); foundTypeVariable = foundTypeVariable || t.asTypeVariable() != null; buf.append(t.isPrimitive() ? t.typeName() : t.asClassDoc().qualifiedName()); buf.append(t.dimension()); } buf.append(")"); return foundTypeVariable ? writer.getName(buf.toString()) : null; } }
/** * Add the summary link for the member. * * @param context the id of the context where the link will be printed * @param cd the classDoc that we should link to * @param member the member being linked to * @param tdSummary the content tree to which the link will be added */ protected void addSummaryLink(LinkInfoImpl.Kind context, ClassDoc cd, ProgramElementDoc member, Content tdSummary) { ExecutableMemberDoc emd = (ExecutableMemberDoc)member; String name = emd.name(); Content memberLink = HtmlTree.SPAN(HtmlStyle.memberNameLink, writer.getDocLink(context, cd, (MemberDoc) emd, name, false)); Content code = HtmlTree.CODE(memberLink); addParameters(emd, false, code, name.length() - 1); tdSummary.addContent(code); }
protected void writeSignature(ExecutableMemberDoc member) { writer.displayLength = 0; writer.pre(); writer.writeAnnotationInfo(member); printModifiers(member); writeTypeParameters(member); if (configuration().linksource && member.position().line() != classdoc.position().line()) { writer.printSrcLink(member, member.name()); } else { strong(member.name()); } writeParameters(member); writeExceptions(member); writer.preEnd(); }
protected void writeExceptions(ExecutableMemberDoc member) { Type[] exceptions = member.thrownExceptionTypes(); if(exceptions.length > 0) { LinkInfoImpl memberTypeParam = new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, member, false); int retlen = getReturnTypeLength(member); writer.getTypeParameterLinks(memberTypeParam); retlen += memberTypeParam.displayLength == 0 ? 0 : memberTypeParam.displayLength + 1; String indent = makeSpace(modifierString(member).length() + member.name().length() + retlen - 4); writer.println(); writer.print(indent); writer.print("throws "); indent += " "; writer.printLink(new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, exceptions[0])); for(int i = 1; i < exceptions.length; i++) { writer.println(","); writer.print(indent); writer.printLink(new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, exceptions[i])); } } }
if (configuration().linksource) { indent+= makeSpace(member.name().length());