Eclipse JDT
Release 3.8

org.eclipse.jdt.core.dom
Class Statement

java.lang.Object
  extended by org.eclipse.jdt.core.dom.ASTNode
      extended by org.eclipse.jdt.core.dom.Statement
Direct Known Subclasses:
AssertStatement, Block, BreakStatement, ConstructorInvocation, ContinueStatement, DoStatement, EmptyStatement, EnhancedForStatement, ExpressionStatement, ForStatement, IfStatement, LabeledStatement, ReturnStatement, SuperConstructorInvocation, SwitchCase, SwitchStatement, SynchronizedStatement, ThrowStatement, TryStatement, TypeDeclarationStatement, VariableDeclarationStatement, WhileStatement

public abstract class Statement
extends ASTNode

Abstract base class of AST nodes that represent statements. There are many kinds of statements.

The grammar combines both Statement and BlockStatement.

For JLS2:

 Statement:
    AssertStatement,
    Block,
    BreakStatement,
    ConstructorInvocation,
    ContinueStatement,
    DoStatement,
    EmptyStatement,
    ExpressionStatement,
    ForStatement,
    IfStatement,
    LabeledStatement,
    ReturnStatement,
    SuperConstructorInvocation,
    SwitchCase,
    SwitchStatement,
    SynchronizedStatement,
    ThrowStatement,
    TryStatement,
    TypeDeclarationStatement,
    VariableDeclarationStatement,
    WhileStatement
 

For JLS3, an enhanced for node type was added:

 Statement:
    <JLS2 statements>...,
    EnhancedForStatement
 

Since:
2.0

Field Summary
 
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 String getLeadingComment()
          Deprecated. This feature was removed in the 2.1 release because it was only a partial, and inadequate, solution to the issue of associating comments with statements. Furthermore, AST.parseCompilationUnit did not associate leading comments, making this moot. Clients that need to access comments preceding a statement should either consult the compilation unit's comment table or use a scanner to reanalyze the source text immediately preceding the statement's source range.
 void setLeadingComment(String comment)
          Deprecated. This feature was removed in the 2.1 release because it was only a partial, and inadequate, solution to the issue of associating comments with statements.
 
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getLeadingComment

public String getLeadingComment()
Deprecated. This feature was removed in the 2.1 release because it was only a partial, and inadequate, solution to the issue of associating comments with statements. Furthermore, AST.parseCompilationUnit did not associate leading comments, making this moot. Clients that need to access comments preceding a statement should either consult the compilation unit's comment table or use a scanner to reanalyze the source text immediately preceding the statement's source range.

Returns the leading comment string, including the starting and ending comment delimiters, and any embedded line breaks.

A leading comment is a comment that appears before the statement. It may be either a traditional comment or an end-of-line comment. Traditional comments must begin with "/*, may contain line breaks, and must end with "*/. End-of-line comments must begin with "//", must end with a line delimiter (as per JLS 3.7), and must not contain line breaks.

Returns:
the comment string, or null if none

setLeadingComment

public void setLeadingComment(String comment)
Deprecated. This feature was removed in the 2.1 release because it was only a partial, and inadequate, solution to the issue of associating comments with statements.

Sets or clears the leading comment string. The comment string must include the starting and ending comment delimiters, and any embedded linebreaks.

A leading comment is a comment that appears before the statement. It may be either a traditional comment or an end-of-line comment. Traditional comments must begin with "/*, may contain line breaks, and must end with "*/. End-of-line comments must begin with "//" (as per JLS 3.7), and must not contain line breaks.

Examples:

 setLeadingComment("/* traditional comment */");  // correct
 setLeadingComment("missing comment delimiters");  // wrong
 setLeadingComment("/* unterminated traditional comment ");  // wrong
 setLeadingComment("/* broken\n traditional comment */");  // correct
 setLeadingComment("// end-of-line comment\n");  // correct
 setLeadingComment("// end-of-line comment without line terminator");  // correct
 setLeadingComment("// broken\n end-of-line comment\n");  // wrong
 

Parameters:
comment - the comment string, or null if none
Throws:
IllegalArgumentException - if the comment string is invalid

Eclipse JDT
Release 3.8

Guidelines for using Eclipse APIs.

Copyright (c) 2000, 2013 IBM Corporation and others. All rights reserved.