package test.wksp.eclipse; public class X19 { /** * Returns a list of the comments encountered while parsing * this compilation unit. * <p> * Since the Java language allows comments to appear most anywhere * in the source text, it is problematic to locate comments in relation * to the structure of an AST. The one exception is doc comments * which, by convention, immediately precede type, field, and * method declarations; these comments are located in the AST * by {@link BodyDeclaration#getJavadoc BodyDeclaration.getJavadoc}. * Other comments do not show up in the AST. The table of comments * is provided for clients that need to find the source ranges of * all comments in the original source string. It includes entries * for comments of all kinds (line, block, and doc), arranged in order * of increasing source position. * </p> * Note on comment parenting: The {@link ASTNode#getParent() getParent()} * of a doc comment associated with a body declaration is the body * declaration node; for these comment nodes * {@link ASTNode#getRoot() getRoot()} will return the compilation unit * (assuming an unmodified AST) reflecting the fact that these nodes * are property located in the AST for the compilation unit. * However, for other comment nodes, {@link ASTNode#getParent() getParent()} * will return <code>null</code>, and {@link ASTNode#getRoot() getRoot()} * will return the comment node itself, indicating that these comment nodes * are not directly connected to the AST for the compilation unit. The * {@link Comment#getAlternateRoot Comment.getAlternateRoot} * method provides a way to navigate from a comment to its compilation * unit. * </p> * <p> * A note on visitors: The only comment nodes that will be visited when * visiting a compilation unit are the doc comments parented by body * declarations. To visit all comments in normal reading order, iterate * over the comment table and call {@link ASTNode#accept(ASTVisitor) accept} * on each element. * </p> * <p> * Clients cannot modify the resulting list. * </p> * * @return an unmodifiable list of comments in increasing order of source * start position, or <code>null</code> if comment information * for this compilation unit is not available * @see ASTParser * @since 3.0 */ void foo() { } }