本文整理汇总了Java中com.sun.tools.doclint.HtmlTag类的典型用法代码示例。如果您正苦于以下问题:Java HtmlTag类的具体用法?Java HtmlTag怎么用?Java HtmlTag使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HtmlTag类属于com.sun.tools.doclint包,在下文中一共展示了HtmlTag类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitDocComment
import com.sun.tools.doclint.HtmlTag; //导入依赖的package包/类
@Override
public Void visitDocComment(DocCommentTree node, List<ErrorDescription> errors) {
DocTreePath currentDocPath = getCurrentPath();
Void value = super.visitDocComment(node, errors);
DocSourcePositions sp = (DocSourcePositions) javac.getTrees().getSourcePositions();
while (!tagStack.isEmpty()) {
StartElementTree startTree = tagStack.pop();
Name tagName = startTree.getName();
HtmlTag tag = HtmlTag.get(tagName);
if (tag.endKind == HtmlTag.EndKind.REQUIRED) {
int s = (int) sp.getStartPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), startTree);
int e = (int) sp.getEndPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), startTree);
errors.add(ErrorDescriptionFactory.forSpan(ctx, s, e, TAG_START_UNMATCHED(tagName)));
}
}
return value;
}
示例2: visitStartElement
import com.sun.tools.doclint.HtmlTag; //导入依赖的package包/类
@Override
@Messages({"# {0} - Tag name",
"TAG_UNKNOWN=Unknown HTML Tag: <{0}>",
"# {0} - Tag name",
"TAG_END_UNKNOWN=Unknown HTML End Tag: </{0}>",
"TAG_SELF_CLOSING=Self-closing element not allowed"})
public Void visitStartElement(StartElementTree node, List<ErrorDescription> errors) {
DocTreePath currentDocPath = getCurrentPath();
DocTreePathHandle dtph = DocTreePathHandle.create(currentDocPath, javac);
if(dtph == null) {
return null;
}
DocSourcePositions sp = (DocSourcePositions) javac.getTrees().getSourcePositions();
int start = (int) sp.getStartPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), node);
int end = (int) sp.getEndPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), node);
final Name treeName = node.getName();
final HtmlTag t = HtmlTag.get(treeName);
if (t == null) {
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_UNKNOWN(treeName)));
} else {
if(t.endKind != HtmlTag.EndKind.NONE) {
tagStack.push(node);
}
}
if (node.isSelfClosing()) {
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_SELF_CLOSING()));
}
return super.visitStartElement(node, errors);
}
示例3: run
import com.sun.tools.doclint.HtmlTag; //导入依赖的package包/类
void run() {
check(HtmlTag.A, HtmlTag.valueOf("A"), HtmlTag.values());
check(HtmlTag.Attr.ABBR, HtmlTag.Attr.valueOf("ABBR"), HtmlTag.Attr.values());
check(HtmlTag.AttrKind.INVALID, HtmlTag.AttrKind.valueOf("INVALID"), HtmlTag.AttrKind.values());
check(HtmlTag.BlockType.BLOCK, HtmlTag.BlockType.valueOf("BLOCK"), HtmlTag.BlockType.values());
check(HtmlTag.EndKind.NONE, HtmlTag.EndKind.valueOf("NONE"), HtmlTag.EndKind.values());
check(HtmlTag.Flag.EXPECT_CONTENT, HtmlTag.Flag.valueOf("EXPECT_CONTENT"), HtmlTag.Flag.values());
check(Checker.Flag.TABLE_HAS_CAPTION, Checker.Flag.valueOf("TABLE_HAS_CAPTION"), Checker.Flag.values());
check(Entity.nbsp, Entity.valueOf("nbsp"), Entity.values());
check(Messages.Group.ACCESSIBILITY, Messages.Group.valueOf("ACCESSIBILITY"), Messages.Group.values());
}
示例4: visitEndElement
import com.sun.tools.doclint.HtmlTag; //导入依赖的package包/类
@Override
@Messages({"# {0} - Tag Name", "TAG_END_NOT_PERMITTED=Invalid End Tag: </{0}>",
"# {0} - Tag Name", "TAG_END_UNEXPECTED=Unexpected End Tag: </{0}>",
"# {0} - Tag Name", "TAG_START_UNMATCHED=End Tag Missing: </{0}>"})
public Void visitEndElement(EndElementTree node, List<ErrorDescription> errors) {
DocTreePath currentDocPath = getCurrentPath();
DocTreePathHandle dtph = DocTreePathHandle.create(currentDocPath, javac);
if(dtph == null) {
return null;
}
DocSourcePositions sp = (DocSourcePositions) javac.getTrees().getSourcePositions();
int start = (int) sp.getStartPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), node);
int end = (int) sp.getEndPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), node);
final Name treeName = node.getName();
final HtmlTag t = HtmlTag.get(treeName);
if (t == null) {
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_END_UNKNOWN(treeName)));
} else if (t.endKind == HtmlTag.EndKind.NONE) {
// env.messages.error(HTML, node, "dc.tag.end.not.permitted", treeName);
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_END_NOT_PERMITTED(treeName)));
} else {
boolean done = false;
while (!tagStack.isEmpty()) {
StartElementTree startTree = tagStack.peek();
Name tagName = startTree.getName();
HtmlTag tag = HtmlTag.get(tagName);
if (t == tag) {
tagStack.pop();
done = true;
break;
} else if (tag.endKind != HtmlTag.EndKind.REQUIRED) {
tagStack.pop();
} else {
boolean found = false;
for (StartElementTree set : tagStack) {
HtmlTag si = HtmlTag.get(set.getName());
if (si == t) {
found = true;
break;
}
}
if (found) {
int s = (int) sp.getStartPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), startTree);
int e = (int) sp.getEndPosition(javac.getCompilationUnit(), currentDocPath.getDocComment(), startTree);
errors.add(ErrorDescriptionFactory.forSpan(ctx, s, e, TAG_START_UNMATCHED(tagName)));
tagStack.pop();
} else {
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_END_UNEXPECTED(treeName)));
done = true;
break;
}
}
}
if (!done && tagStack.isEmpty()) {
errors.add(ErrorDescriptionFactory.forSpan(ctx, start, end, TAG_END_UNEXPECTED(treeName)));
}
}
return super.visitEndElement(node, errors);
}
示例5: getHtmlTag
import com.sun.tools.doclint.HtmlTag; //导入依赖的package包/类
private static HtmlTag getHtmlTag(Name name) {
HtmlTag tag = HtmlTag.get(name);
return tag != null ? tag : HtmlTag.HTML; //using HtmlTag.HTML as default no-op value
}