Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.jdt.core.dom
Class Statement  view Statement download Statement.java

java.lang.Object
  extended byorg.eclipse.jdt.core.dom.ASTNode
      extended byorg.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:
    Block
    IfStatement
    ForStatement
    WhileStatement
    DoStatement
    TryStatement
    SwitchStatement
    SynchronizedStatement
    ReturnStatement
    ThrowStatement
    BreakStatement
    ContinueStatement
    EmptyStatement
    ExpressionStatement
    LabeledStatement
    AssertStatement
    VariableDeclarationStatement
    TypeDeclarationStatement
    ConstructorInvocation
    SuperConstructorInvocation
 
For JLS3, an enhanced for node type was added:
 Statement:
    Block
    IfStatement
    ForStatement
    EnhancedForStatement
    WhileStatement
    DoStatement
    TryStatement
    SwitchStatement
    SynchronizedStatement
    ReturnStatement
    ThrowStatement
    BreakStatement
    ContinueStatement
    EmptyStatement
    ExpressionStatement
    LabeledStatement
    AssertStatement
    VariableDeclarationStatement
    TypeDeclarationStatement
    ConstructorInvocation
    SuperConstructorInvocation
 

Since:
2.0

Nested Class Summary
 
Nested classes inherited from class org.eclipse.jdt.core.dom.ASTNode
ASTNode.NodeList
 
Field Summary
private  java.lang.String optionalLeadingComment
          Deprecated. The leading comment feature was removed in 2.1.
 
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, ast, BASE_NODE_SIZE, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CYCLE_RISK, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, HEADERS, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MANDATORY, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NO_CYCLE_RISK, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPTIONAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, 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, typeAndFlags, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Constructor Summary
(package private) Statement(AST ast)
          Creates a new AST node for a statement owned by the given AST.
 
Method Summary
(package private)  void copyLeadingComment(Statement source)
          Copies the leading comment from the given statement.
 java.lang.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 55 or use a scanner to reanalyze the source text immediately preceding the statement's source range.
(package private)  int memSize()
          Returns an estimate of the memory footprint of this node in bytes.
 void setLeadingComment(java.lang.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, accept0, acceptChild, acceptChildren, addProperty, appendDebugString, appendPrintString, checkModifiable, checkNewChild, clone, clone0, copySubtree, copySubtrees, createPropertyList, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getNodeType0, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, internalGetChildListProperty, internalGetSetBooleanProperty, internalGetSetChildProperty, internalGetSetIntProperty, internalGetSetObjectProperty, internalStructuralPropertiesForType, nodeClassForType, postLazyInit, postReplaceChild, postValueChange, preLazyInit, preReplaceChild, preValueChange, properties, reapPropertyList, setFlags, setParent, setProperty, setSourceRange, setStructuralProperty, standardToString, stringSize, structuralPropertiesForType, subtreeBytes, subtreeMatch, subtreeMatch0, supportedOnlyIn2, toString, treeSize, unsupportedIn2
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

optionalLeadingComment

private java.lang.String optionalLeadingComment
Deprecated. The leading comment feature was removed in 2.1.

The leading comment, or null if none. Defaults to none.

Constructor Detail

Statement

Statement(AST ast)
Creates a new AST node for a statement owned by the given AST.

N.B. This constructor is package-private.

Method Detail

getLeadingComment

public java.lang.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 55 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.


setLeadingComment

public void setLeadingComment(java.lang.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
 


copyLeadingComment

void copyLeadingComment(Statement source)
Copies the leading comment from the given statement.

Since:
2.1

memSize

int memSize()
Description copied from class: ASTNode
Returns an estimate of the memory footprint of this node in bytes. The estimate does not include the space occupied by child nodes.

Specified by:
memSize in class ASTNode