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

# Interface IASTCastExpression

All Superinterfaces:
  `IASTExpression`, `IASTInitializerClause`, `IASTNode`

All Known Subinterfaces:
  `ICPPASTCastExpression`

public interface IASTCastExpression extends IASTExpression
This interface represents a cast expression of the form (TypeId)operand.

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.IASTExpression

`IASTExpression.ValueCategory`

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

`IASTNode.CopyStyle`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`op_cast`
`op_cast` represents a traditional cast.
`static final int`
`op_last`
`op_last` for subinterfaces
`static final ASTNodeProperty`
`OPERAND`
`OPERAND` represents the relationship between a cast expression and the expression it is casting (operand).
`static final ASTNodeProperty`
`TYPE_ID`
`TYPE_ID` represents the relationship between a cast expression and the type cast to.

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

`EMPTY_EXPRESSION_ARRAY`

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

`EMPTY_NODE_ARRAY`

## Method Summary

Modifier and Type
Method
Description
`IASTCastExpression`
`copy()`
Returns a mutable copy of the tree rooted at this node.
`IASTCastExpression`
`copy(IASTNode.CopyStyle style)`
Returns a mutable copy of the tree rooted at this node.
`IASTExpression`
`getOperand()`
Get expression being cast.
`int`
`getOperator()`
Get the type of cast (as an operator).
`IASTTypeId`
`getTypeId()`
Get the typeId.
`void`
`setOperand(IASTExpression expression)`
Set the expression being cast.
`void`
`setOperator(int value)`
Set the operator (type of cast).
`void`
`setTypeId(IASTTypeId typeId)`
Set the typeId.

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

`getExpressionType, getValueCategory, isLValue`

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

### TYPE_ID

static final ASTNodeProperty TYPE_ID
`TYPE_ID` represents the relationship between a cast expression and the type cast to.

### OPERAND

static final ASTNodeProperty OPERAND
`OPERAND` represents the relationship between a cast expression and the expression it is casting (operand).

### op_cast

static final int op_cast
`op_cast` represents a traditional cast.

See Also:
  - Constant Field Values

### op_last

static final int op_last
`op_last` for subinterfaces

See Also:
  - Constant Field Values

## Method Details

### getOperator

int getOperator()
Get the type of cast (as an operator).

Returns:
  operator

### setOperator

void setOperator(int value)
Set the operator (type of cast).

Parameters:
  `value` -

### getOperand

IASTExpression getOperand()
Get expression being cast.

Returns:
  `IASTExpression` the expression being cast

### setOperand

void setOperand(IASTExpression expression)
Set the expression being cast.

Parameters:
  `expression` - `IASTExpression` the expression to be cast

### setTypeId

void setTypeId(IASTTypeId typeId)
Set the typeId.

Parameters:
  `typeId` - `IASTTypeId` to be set.

### getTypeId

IASTTypeId getTypeId()
Get the typeId.

Returns:
  `IASTTypeId` representing type being casted to.

### copy

IASTCastExpression 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 `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
Specified by:
  `copy` in interface `IASTNode`
Since:
  5.1

### copy

IASTCastExpression 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 `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
Specified by:
  `copy` in interface `IASTNode`
Parameters:
  `style` - `IASTNode.CopyStyle` create a copy with or without locations. Please see `IASTNode.CopyStyle` for restrictions on copies with Locations.
Since:
  5.3