Package org.eclipse.jdt.core.dom
Class Statement
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
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
,YieldStatement
Abstract base class of AST nodes that represent statements.
There are many kinds of statements.
The grammar combines both Statement and BlockStatement.
Statement:AssertStatement
,Block
,BreakStatement
,ConstructorInvocation
,ContinueStatement
,DoStatement
,EmptyStatement
,EnhancedForStatement
ExpressionStatement
,ForStatement
,IfStatement
,LabeledStatement
,ReturnStatement
,SuperConstructorInvocation
,SwitchCase
,SwitchStatement
,SynchronizedStatement
,ThrowStatement
,TryStatement
,TypeDeclarationStatement
,VariableDeclarationStatement
,WhileStatement
- 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, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_FRAGMENT, STRING_LITERAL, STRING_TEMPLATE_COMPONENT, STRING_TEMPLATE_EXPRESSION, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
Method Summary
Modifier and TypeMethodDescriptionDeprecated.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.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
-
Method Details
-
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
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, ornull
if none- Throws:
IllegalArgumentException
- if the comment string is invalid
-