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 SuperConstructorInvocationFor 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 SuperConstructorInvocationProvisional 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, toString
public 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.