public abstract class Statement extends ProgramElement
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
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION| Modifier and Type | Method and Description |
|---|---|
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
or use a scanner to reanalyze the source text immediately preceding
the statement's source range.
|
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.
|
accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toStringpublic java.lang.String getLeadingComment()
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.
null if nonepublic void setLeadingComment(java.lang.String comment)
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
comment - the comment string, or null if nonejava.lang.IllegalArgumentException - if the comment string is invalidCopyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.