类com.sun.source.doctree.EndElementTree源码实例Demo

下面列出了怎么用com.sun.source.doctree.EndElementTree的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: openjdk-jdk9   文件: HtmlDocletWriter.java
boolean ignoreNonInlineTag(DocTree dtree) {
    Name name = null;
    if (dtree.getKind() == Kind.START_ELEMENT) {
        StartElementTree setree = (StartElementTree)dtree;
        name = setree.getName();
    } else if (dtree.getKind() == Kind.END_ELEMENT) {
        EndElementTree eetree = (EndElementTree)dtree;
        name = eetree.getName();
    }

    if (name != null) {
        com.sun.tools.doclint.HtmlTag htmlTag = com.sun.tools.doclint.HtmlTag.get(name);
        if (htmlTag != null &&
                htmlTag.blockType != com.sun.tools.doclint.HtmlTag.BlockType.INLINE) {
            return true;
        }
    }
    return false;
}
 
源代码2 项目: lua-for-android   文件: DocTreeMaker.java
private boolean isSentenceBreak(DocTree dt, boolean isFirstDocTree) {
    switch (dt.getKind()) {
        case START_ELEMENT:
                StartElementTree set = (StartElementTree)dt;
                return !isFirstDocTree && ((DCTree) dt).pos > 1 && isSentenceBreak(set.getName());
        case END_ELEMENT:
                EndElementTree eet = (EndElementTree)dt;
                return !isFirstDocTree && ((DCTree) dt).pos > 1 && isSentenceBreak(eet.getName());
        default:
            return false;
    }
}
 
源代码3 项目: netbeans   文件: VeryPretty.java
@Override
public Void visitEndElement(EndElementTree node, Void p) {
    print("</");
    print(node.getName());
    print(">");
    return null;
}
 
源代码4 项目: openjdk-jdk9   文件: DocTreeMaker.java
private boolean isSentenceBreak(DocTree dt, boolean isFirstDocTree) {
    switch (dt.getKind()) {
        case START_ELEMENT:
                StartElementTree set = (StartElementTree)dt;
                return !isFirstDocTree && ((DCTree) dt).pos > 1 && isSentenceBreak(set.getName());
        case END_ELEMENT:
                EndElementTree eet = (EndElementTree)dt;
                return !isFirstDocTree && ((DCTree) dt).pos > 1 && isSentenceBreak(eet.getName());
        default:
            return false;
    }
}
 
源代码5 项目: j2objc   文件: JavadocConverter.java
@Override
public Void visitEndElement(EndElementTree node, TagElement tag) {
  String text = String.format("</%s>", node.getName().toString());
  int pos = pos(node);
  tag.addFragment(setPos(new TextElement().setText(text), pos, pos + text.length()));
  return null;
}
 
源代码6 项目: TencentKona-8   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码7 项目: jdk8u60   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码8 项目: openjdk-jdk8u   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码9 项目: netbeans   文件: ImmutableDocTreeTranslator.java
protected final EndElementTree rewriteChildren(EndElementTree tree) {
    return tree; // Nothing to do for a string
}
 
源代码10 项目: netbeans   文件: ImmutableDocTreeTranslator.java
@Override
public DocTree visitEndElement(EndElementTree tree, Object p) {
    return rewriteChildren(tree);
}
 
源代码11 项目: netbeans   文件: TreeFactory.java
public EndElementTree EndElement(CharSequence name) {
    return docMake.at(NOPOS).newEndElementTree(names.fromString(name.toString()));
}
 
源代码12 项目: netbeans   文件: RefactoringVisitor.java
/**
 * @since 1.47
 */
@Override
public DocTree visitEndElement(EndElementTree node, Element p) {
    return docScanner.visitEndElement(node, p, null);
}
 
源代码13 项目: netbeans   文件: RefactoringVisitor.java
@Override
public DocTree visitEndElement(EndElementTree node, Element p) {
    return instance.visitEndElement(node, p);
}
 
源代码14 项目: netbeans   文件: RefactoringVisitor.java
public DocTree visitEndElement(EndElementTree node, Element p, Void ignore) {
    return super.visitEndElement(node, p);
}
 
源代码15 项目: netbeans   文件: Analyzer.java
@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);
    }
 
源代码16 项目: openjdk-jdk8u-backup   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码17 项目: openjdk-jdk9   文件: JavadocFormatter.java
@Override @DefinedBy(Api.COMPILER_TREE)
public Object visitEndElement(EndElementTree node, Object p) {
    handleEndElement(node.getName());
    return super.visitEndElement(node, p);
}
 
源代码18 项目: openjdk-jdk9   文件: Checker.java
@Override @DefinedBy(Api.COMPILER_TREE)
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                        break;

                    case SECTION:
                    case ARTICLE:
                        if (env.htmlVersion == HtmlVersion.HTML5 && !top.flags.contains(Flag.HAS_HEADING)) {
                            env.messages.error(HTML, tree, "dc.tag.requires.heading", treeName);
                        }
                        break;
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码19 项目: hottub   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码20 项目: openjdk-8-source   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码21 项目: openjdk-8   文件: Checker.java
@Override
public Void visitEndElement(EndElementTree tree, Void ignore) {
    final Name treeName = tree.getName();
    final HtmlTag t = HtmlTag.get(treeName);
    if (t == null) {
        env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
    } else if (t.endKind == HtmlTag.EndKind.NONE) {
        env.messages.error(HTML, tree, "dc.tag.end.not.permitted", treeName);
    } else {
        boolean done = false;
        while (!tagStack.isEmpty()) {
            TagStackItem top = tagStack.peek();
            if (t == top.tag) {
                switch (t) {
                    case TABLE:
                        if (!top.attrs.contains(HtmlTag.Attr.SUMMARY)
                                && !top.flags.contains(Flag.TABLE_HAS_CAPTION)) {
                            env.messages.error(ACCESSIBILITY, tree,
                                    "dc.no.summary.or.caption.for.table");
                        }
                }
                warnIfEmpty(top, tree);
                tagStack.pop();
                done = true;
                break;
            } else if (top.tag == null || top.tag.endKind != HtmlTag.EndKind.REQUIRED) {
                tagStack.pop();
            } else {
                boolean found = false;
                for (TagStackItem si: tagStack) {
                    if (si.tag == t) {
                        found = true;
                        break;
                    }
                }
                if (found && top.tree.getKind() == DocTree.Kind.START_ELEMENT) {
                    env.messages.error(HTML, top.tree, "dc.tag.start.unmatched",
                            ((StartElementTree) top.tree).getName());
                    tagStack.pop();
                } else {
                    env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
                    done = true;
                    break;
                }
            }
        }

        if (!done && tagStack.isEmpty()) {
            env.messages.error(HTML, tree, "dc.tag.end.unexpected", treeName);
        }
    }

    return super.visitEndElement(tree, ignore);
}
 
源代码22 项目: lua-for-android   文件: DocTreeFactory.java
/**
 * Create a new {@code EndElement} object, to represent the end of an HTML element.
 * @param name the name of the HTML element
 * @return an {@code EndElementTree} object
 */
EndElementTree newEndElementTree(Name name);
 
源代码23 项目: netbeans   文件: TreeMaker.java
/**Creates the DocTree's HTML EndElementTree.
 * 
 * @param name name of the element to be closed
 * @return newly created EndElementTree
 * @since 0.124
 */
public EndElementTree EndElement(CharSequence name) {
    return delegate.EndElement(name);
}
 
源代码24 项目: openjdk-jdk9   文件: DocTreeFactory.java
/**
 * Create a new {@code EndElement} object, to represent the end of an HTML element.
 * @param name the name of the HTML element
 * @return an {@code EndElementTree} object
 */
EndElementTree newEndElementTree(Name name);