Package org.eclipse.cdt.core.dom.ast

## Interface IASTCaseStatement

All Superinterfaces:
  `IASTAttributeOwner`, `IASTNode`, `IASTStatement`

    public interface IASTCaseStatement
    extends IASTStatement

This is a case in a switch statement. Note that in the grammar, a statement is part of the clause. For the AST, just go on to the next statement to find it. It's really only there to ensure that there is at least one statement following this clause.

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`IASTNode.CopyStyle`

### Field Summary

Fields
`static ASTNodeProperty` `EXPRESSION` `ASTNodeProperty` that represents the relationship between a case statement and the expression it contains.

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner

`ATTRIBUTE, ATTRIBUTE_SPECIFIER`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`EMPTY_NODE_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTStatement

`EMPTY_STATEMENT_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`IASTCaseStatement` `copy()` Returns a mutable copy of the tree rooted at this node.
`IASTCaseStatement` `copy​(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`IASTExpression` `getExpression()` The expression that determines whether this case should be taken.
`void` `setExpression​(IASTExpression expression)` Set the expression.

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner

`addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiers`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent`

### Field Detail

#### EXPRESSION

    static final ASTNodeProperty EXPRESSION

`ASTNodeProperty` that represents the relationship between a case statement and the expression it contains.

### Method Detail

#### getExpression

    IASTExpression getExpression()

The expression that determines whether this case should be taken.

#### setExpression

    void setExpression​(IASTExpression expression)

Set the expression.

Parameters:
  `expression` -

#### copy

    IASTCaseStatement copy()

Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Calling this method is equivalent to `copy(CopyStyle.withoutLocations)`.

Specified by:
  `copy` in interface `IASTNode`
Specified by:
  `copy` in interface `IASTStatement`
Since:
  5.1

#### copy

    IASTCaseStatement copy​(IASTNode.CopyStyle style)

Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Specified by:
  `copy` in interface `IASTNode`
Specified by:
  `copy` in interface `IASTStatement`
Parameters:
  `style` - `IASTNode.CopyStyle` create a copy with or without locations. Please see `IASTNode.CopyStyle` for restrictions on copies with Locations.
Since:
  5.3