org.eclipse.wst.jsdt.core.dom

## Class Assignment

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.ASTNode
  - - org.eclipse.wst.jsdt.core.dom.Expression
    - - org.eclipse.wst.jsdt.core.dom.Assignment

    public class Assignment
    extends Expression

Assignment expression AST node type.

     Assignment:
        Expression AssignmentOperator Expression

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.

### Nested Class Summary

Nested Classes
`static class` `Assignment.Operator` Assignment operators (typesafe enumeration).

### Field Summary

Fields
`static ChildPropertyDescriptor` `LEFT_HAND_SIDE_PROPERTY` The "leftHandSide" structural property of this node type.
`static SimplePropertyDescriptor` `OPERATOR_PROPERTY` The "operator" structural property of this node type.
`static ChildPropertyDescriptor` `RIGHT_HAND_SIDE_PROPERTY` The "rightHandSide" structural property of this node type.

### Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Expression` `getLeftHandSide()` Returns the left hand side of this assignment expression.
`Assignment.Operator` `getOperator()` Returns the operator of this assignment expression.
`Expression` `getRightHandSide()` Returns the right hand side of this assignment expression.
`static java.util.List` `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setLeftHandSide(Expression expression)` Sets the left hand side of this assignment expression.
`void` `setOperator(Assignment.Operator assignmentOperator)` Sets the operator of this assignment expression.
`void` `setRightHandSide(Expression expression)` Sets the right hand side of this assignment expression.

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.Expression

`resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing`

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

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

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

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

### Field Detail

#### LEFT_HAND_SIDE_PROPERTY

    public static final ChildPropertyDescriptor LEFT_HAND_SIDE_PROPERTY

The "leftHandSide" structural property of this node type.

#### OPERATOR_PROPERTY

    public static final SimplePropertyDescriptor OPERATOR_PROPERTY

The "operator" structural property of this node type.

#### RIGHT_HAND_SIDE_PROPERTY

    public static final ChildPropertyDescriptor RIGHT_HAND_SIDE_PROPERTY

The "rightHandSide" structural property of this node type.

### Method Detail

#### propertyDescriptors

    public static java.util.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`)

#### getOperator

    public Assignment.Operator getOperator()

Returns the operator of this assignment expression.

Returns:
  the assignment operator

#### setOperator

    public void setOperator(Assignment.Operator assignmentOperator)

Sets the operator of this assignment expression.

Parameters:
  `assignmentOperator` - the assignment operator
Throws:
  `java.lang.IllegalArgumentException` - if the argument is incorrect

#### getLeftHandSide

    public Expression getLeftHandSide()

Returns the left hand side of this assignment expression.

Returns:
  the left hand side node

#### setLeftHandSide

    public void setLeftHandSide(Expression expression)

Sets the left hand side of this assignment expression.

Parameters:
  `expression` - the left hand side node
Throws:
  `java.lang.IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent
  - a cycle in would be created

#### getRightHandSide

    public Expression getRightHandSide()

Returns the right hand side of this assignment expression.

Returns:
  the right hand side node

#### setRightHandSide

    public void setRightHandSide(Expression expression)

Sets the right hand side of this assignment expression.

Parameters:
  `expression` - the right hand side node
Throws:
  `java.lang.IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent
  - a cycle in would be created