本文整理汇总了Java中com.sun.source.util.DocTreeScanner类的典型用法代码示例。如果您正苦于以下问题:Java DocTreeScanner类的具体用法?Java DocTreeScanner怎么用?Java DocTreeScanner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DocTreeScanner类属于com.sun.source.util包,在下文中一共展示了DocTreeScanner类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: scan
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
@Override
public Void scan(final DocTree tree, Void ignore) {
if (tree != null) {
DocTree previous = null;
for (DocTree current : getCurrentPath()) {
if (previous != null) {
final List<DocTree> children = new ArrayList<>();
current.accept(new DocTreeScanner<Void, Void>() {
@Override public Void scan(DocTree node, Void p) {
children.add(node);
return null;
}
}, null);
if (!children.contains(previous)) {
error("Invalid DocTreePath for: " + tree);
}
}
previous = current;
}
}
return super.scan(tree, ignore);
}
示例2: listChildren
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
private static List<DocTree> listChildren(@NonNull DocTree t) {
final List<DocTree> result = new LinkedList<DocTree>();
t.accept(new DocTreeScanner<Void, Void>() {
@Override
public Void scan(DocTree node, Void p) {
result.add(node);
return null;
}
}, null);
return result;
}
示例3: getLastChild
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
private DocTree getLastChild(DocTree tree) {
final DocTree[] last = new DocTree[] {null};
tree.accept(new DocTreeScanner<Void, Void>() {
@Override public Void scan(DocTree node, Void p) {
if (node != null) last[0] = node;
return null;
}
}, null);
return last[0];
}
示例4: getLastChild
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
private DocTree getLastChild(DocTree tree) {
final DocTree[] last = new DocTree[] {null};
tree.accept(new DocTreeScanner<Void, Void>() {
@Override @DefinedBy(Api.COMPILER_TREE)
public Void scan(DocTree node, Void p) {
if (node != null) last[0] = node;
return null;
}
}, null);
return last[0];
}
示例5: check
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
private void check() {
DocCommentTree dc = trees.getDocCommentTree(getCurrentPath());
if (dc == null)
return;
DocTreeScanner<Void, Void> s = new DocTreeScanner<Void, Void>() {
@Override
public Void visitErroneous(ErroneousTree tree, Void ignore) {
messager.printMessage(Diagnostic.Kind.NOTE, tree.getDiagnostic().getMessage(null));
return null;
}
};
s.scan(dc, null);
}
示例6: check
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
@Override
void check(TreePath path, Name name) throws Exception {
JavaFileObject fo = path.getCompilationUnit().getSourceFile();
final CharSequence cs = fo.getCharContent(true);
final DCDocComment dc = (DCDocComment) trees.getDocCommentTree(path);
DCTree t = (DCTree) trees.getDocCommentTree(path);
DocTreeScanner scanner = new DocTreeScanner<Void,Void>() {
@Override
public Void scan(DocTree node, Void ignore) {
if (node != null) {
try {
String expect = getExpectText(node);
long pos = ((DCTree) node).getSourcePosition(dc);
String found = getFoundText(cs, (int) pos, expect.length());
if (!found.equals(expect)) {
System.err.println("expect: " + expect);
System.err.println("found: " + found);
error("mismatch");
}
} catch (StringIndexOutOfBoundsException e) {
error(node.getClass() + ": " + e.toString());
e.printStackTrace();
}
}
return super.scan(node, ignore);
}
};
scanner.scan(t, null);
}
示例7: render
import com.sun.source.util.DocTreeScanner; //导入依赖的package包/类
private String render(List<? extends DocTree> trees) {
StringBuilder buffer = new StringBuilder();
DocTreeVisitor<Void, Void> visitor = new DocTreeScanner<Void, Void>() {
@Override
public Void visitText(TextTree node, Void aVoid) {
buffer.append(node.getBody());
return super.visitText(node, aVoid);
}
};
trees.forEach(tree -> tree.accept(visitor, null));
return buffer.toString();
}