org.eclipse.jdt.core.dom

## Class ExpressionStatement

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.Statement
    - - org.eclipse.jdt.core.dom.ExpressionStatement

    public class ExpressionStatement
    extends Statement

Expression statement AST node type.

This kind of node is used to convert an expression (`Expression`) into a statement (`Statement`) by wrapping it.

     ExpressionStatement:
        StatementExpression ;

Since:
  2.0
Restriction:
  This class is not intended to be instantiated by clients.

### Field Summary

Fields
`static ChildPropertyDescriptor` `EXPRESSION_PROPERTY` The "expression" structural property of this node type (child type: `Expression`).

### 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, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, 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, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Expression` `getExpression()` Returns the expression of this expression statement.
`static List` `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setExpression(Expression expression)` Sets the expression of this expression statement.

### Methods inherited from class org.eclipse.jdt.core.dom.Statement

`getLeadingComment, setLeadingComment`

### 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`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### EXPRESSION_PROPERTY

    public static final ChildPropertyDescriptor EXPRESSION_PROPERTY

The "expression" structural property of this node type (child type: `Expression`).

Since:
  3.0

### Method Detail

#### propertyDescriptors

    public static List propertyDescriptors(int apiLevel)

Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the `AST.JLS*` constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)
Since:
  3.0

#### getExpression

    public Expression getExpression()

Returns the expression of this expression statement.

Returns:
  the expression node

#### setExpression

    public void setExpression(Expression expression)

Sets the expression of this expression statement.

Parameters:
  `expression` - the new expression node
Throws:
  `IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent
  - a cycle in would be created