Java源码示例:com.sun.javadoc.MemberDoc

示例1
/**
 * Render the tag.
 *
 * @todo TODOs can also be used in member docs ...
 *
 * @param tag       The tag to render.
 * @param target    The target {@link StringBuilder}.
 * @todo ... or even parameter docs -- which is a little strange, actually. ;)
 * @param doclet    The doclet.
 */
@Override
public void render(Tag tag, StringBuilder target, MarkdownDoclet doclet) {
    Counter counter;
    if ( tag.holder() instanceof MemberDoc ) {
        counter = getCounter(((MemberDoc)tag.holder()).containingClass());
    }
    else {
        counter = getCounter(tag.holder());
    }
    target.append("<div class=\"todo\">");
    target.append("<div class=\"todoTitle\"><span class=\"todoTitle\">")
            .append(doclet.getOptions().getTodoTitle())
            .append("</span><span class=\"todoCounter\">#")
            .append(counter.next())
            .append("</span></div>");
    target.append("<div class=\"todoText\">");
    target.append(doclet.toHtml(tag.text().trim()));
    target.append("</div></div>");
}
 
示例2
/**
 * Returns true if the given element is hidden.
 */
private static boolean isHidden(Doc doc) {
  // Methods, fields, constructors.
  if (doc instanceof MemberDoc) {
    return hasHideAnnotation(doc);
  }

  // Classes, interfaces, enums, annotation types.
  if (doc instanceof ClassDoc) {
    ClassDoc classDoc = (ClassDoc) doc;

    // Check the containing package.
    if (hasHideAnnotation(classDoc.containingPackage())) {
      return true;
    }

    // Check the class doc and containing class docs if this is a
    // nested class.
    ClassDoc current = classDoc;
    do {
      if (hasHideAnnotation(current)) {
        return true;
      }

      current = current.containingClass();
    } while (current != null);
  }

  return false;
}
 
示例3
@Override
protected String modifierString(MemberDoc member) {
	final int ms = member.modifierSpecifier();
	final int no = Modifier.FINAL | Modifier.NATIVE | Modifier.SYNCHRONIZED;
	return Modifier.toString(ms & ~no);
}
 
示例4
private void renderSeeTag(MarkdownDoclet doclet, StringBuilder tagBlock, PsiDocTag docTag) {
    final String seeText = toString(docTag, false);
    if ( seeText.startsWith("\"") ) {
        SeeTag tag = new SeeTag() {
            @Override
            public String label() {
                return null;
            }
            @Override
            public PackageDoc referencedPackage() {
                return null;
            }
            @Override
            public String referencedClassName() {
                return null;
            }
            @Override
            public ClassDoc referencedClass() {
                return null;
            }
            @Override
            public String referencedMemberName() {
                return null;
            }
            @Override
            public MemberDoc referencedMember() {
                return null;
            }
            @Override
            public String name() {
                return "@see";
            }
            @Override
            public Doc holder() {
                return null;
            }
            @Override
            public String kind() {
                return "@see";
            }
            @Override
            public String text() {
                return seeText;
            }
            @Override
            public Tag[] inlineTags() {
                return new Tag[0];
            }
            @Override
            public Tag[] firstSentenceTags() {
                return new Tag[0];
            }
            @Override
            public SourcePosition position() {
                return null;
            }
        };
        SeeTagRenderer.INSTANCE.render(tag, tagBlock, doclet);
    }
    else {
        tagBlock.append("\[email protected]").append(docTag.getName());
        tagBlock.append(' ').append(seeText);
    }
}
 
示例5
/**
 * Process the member documentation.
 *
 * @param doc    The member documentation.
 */
protected void processMember(MemberDoc doc) {
    defaultProcess(doc, true);
}