public class ForInStatement extends Statement
ForStatement:
for (
[ ForInit ];
[ Expression ] ;
[ ForUpdate ] )
Statement
ForInit:
Expression { , Expression }
ForUpdate:
Expression { , Expression }
Note: When variables are declared in the initializer
of a for statement such as "for (int a=1, b=2;;);",
they should be represented as a single
VariableDeclarationExpression
with two fragments, rather than being split up into a pair
of expressions.
| Modifier and Type | Field and Description |
|---|---|
static ChildPropertyDescriptor |
BODY_PROPERTY
The "body" structural property of this node type.
|
static ChildPropertyDescriptor |
COLLECTION_PROPERTY
The "expression" structural property of this node type.
|
static ChildPropertyDescriptor |
ITERATION_VARIABLE_PROPERTY
The "initializers" structural property of this node type.
|
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 |
|---|---|
Statement |
getBody()
Returns the body of this for statement.
|
Expression |
getCollection()
Returns the condition expression of this for statement, or
null if there is none. |
Expression |
getIterationVariable() |
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
void |
setBody(Statement statement)
Sets the body of this for statement.
|
void |
setCollection(Expression expression)
Sets or clears the condition expression of this return statement.
|
void |
setIterationVariable(Expression expression) |
getLeadingComment, setLeadingCommentaccept, 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 static final ChildPropertyDescriptor ITERATION_VARIABLE_PROPERTY
public static final ChildPropertyDescriptor COLLECTION_PROPERTY
public static final ChildPropertyDescriptor BODY_PROPERTY
public static java.util.List propertyDescriptors(int apiLevel)
apiLevel - the API level; one of the
AST.JLS* constantsStructuralPropertyDescriptor)public Expression getCollection()
null if there is none.null if
there is nonepublic Expression getIterationVariable()
public void setCollection(Expression expression)
expression - the condition expression node, or null
if there is nonejava.lang.IllegalArgumentException - if:
public void setIterationVariable(Expression expression)
public Statement getBody()
public void setBody(Statement statement)
Special note: The JavaScript language does not allow a local variable declaration
to appear as the body of a for statement (they may only appear within a
block). However, the AST will allow a VariableDeclarationStatement
as the body of a ForStatement. To get something that will
compile, be sure to embed the VariableDeclarationStatement
inside a Block.
statement - the body statement nodejava.lang.IllegalArgumentException - if:
Copyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.