package test.wksp.eclipse; public class X18 { /** * Sets the kind of constructs to be parsed from the source. Defaults to an * entire compilation unit. * <p> * When the parse is successful the result returned includes the ASTs for * the requested source: * <ul> * <li>{@link #K_COMPILATION_UNIT}: The result node is a * {@link CompilationUnit}.</li> * <li>{@link #K_CLASS_BODY_DECLARATIONS}: The result node is a * {@link TypeDeclaration} whose {@link TypeDeclaration#bodyDeclarations() * bodyDeclarations} are the new trees. Other aspects of the type * declaration are unspecified.</li> * <li>{@link #K_STATEMENTS}: The result node is a {@link Block Block} whose * {@link Block#statements() statements} are the new trees. Other aspects of * the block are unspecified.</li> * <li>{@link #K_EXPRESSION}: The result node is a subclass of * {@link Expression Expression}. Other aspects of the expression are * unspecified.</li> * </ul> * The resulting AST node is rooted under (possibly contrived) * {@link CompilationUnit CompilationUnit} node, to allow the client to * retrieve the following pieces of information available there: * <ul> * <li>{@linkplain CompilationUnit#lineNumber(int) Line number map}. Line * numbers start at 1 and only cover the subrange scanned * (<code>source[offset]</code> through * <code>source[offset+length-1]</code>).</li> * <li>{@linkplain CompilationUnit#getMessages() Compiler messages} and * {@linkplain CompilationUnit#getProblems() detailed problem reports}. * Character positions are relative to the start of <code>source</code>; * line positions are for the subrange scanned.</li> * <li>{@linkplain CompilationUnit#getCommentList() Comment list} for the * subrange scanned.</li> * </ul> * The contrived nodes do not have source positions. Other aspects of the * {@link CompilationUnit CompilationUnit} node are unspecified, including * the exact arrangment of intervening nodes. * </p> * <p> * Lexical or syntax errors detected while parsing can result in a result * node being marked as {@link ASTNode#MALFORMED MALFORMED}. In more severe * failure cases where the parser is unable to recognize the input, this * method returns a {@link CompilationUnit CompilationUnit} node with at * least the compiler messages. * </p> * <p> * Each node in the subtree (other than the contrived nodes) carries source * range(s) information relating back to positions in the given source (the * given source itself is not remembered with the AST). The source range * usually begins at the first character of the first token corresponding to * the node; leading whitespace and comments are <b>not</b> included. The * source range usually extends through the last character of the last token * corresponding to the node; trailing whitespace and comments are * <b>not</b> included. There are a handful of exceptions (including the * various body declarations); the specification for these node type spells * out the details. Source ranges nest properly: the source range for a * child is always within the source range of its parent, and the source * ranges of sibling nodes never overlap. * </p> * <p> * Binding information is only computed when <code>kind</code> is * <code>K_COMPILATION_UNIT</code>. * </p> * * @param kind * the kind of construct to parse: one of * {@link #K_COMPILATION_UNIT}, * {@link #K_CLASS_BODY_DECLARATIONS}, {@link #K_EXPRESSION}, * {@link #K_STATEMENTS} */ void setKind(int kind) { } }