org.eclipse.cdt.core.dom.ast

## Interface IASTConditionalExpression

All Superinterfaces:
  IASTExpression, IASTInitializerClause, IASTNode

    public interface IASTConditionalExpression
    extends IASTExpression

Conditional Expression of the format X ? Y : Z

### 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
`static ASTNodeProperty` `LOGICAL_CONDITION` `LOGICAL_CONDITION` represents the relationship between an `IASTConditionalExpression` and its condition `IASTExpression`.
`static ASTNodeProperty` `NEGATIVE_RESULT` `NEGATIVE_RESULT` represents the relationship between an `IASTConditionalExpression` and its positive result `IASTExpression`.
`static ASTNodeProperty` `POSITIVE_RESULT` `POSITIVE_RESULT` represents the relationship between an `IASTConditionalExpression` and its positive result `IASTExpression`.

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

All Methods Instance Methods Abstract Methods
`IASTConditionalExpression` `copy()` Returns a mutable copy of the tree rooted at this node.
`IASTConditionalExpression` `copy(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`IASTExpression` `getLogicalConditionExpression()` Get the logical condition expression.
`IASTExpression` `getNegativeResultExpression()` Get the negative result expression.
`IASTExpression` `getPositiveResultExpression()` Get the positive result expression, or `null` in case the positive condition was omitted (this is a gcc extension).
`void` `setLogicalConditionExpression(IASTExpression expression)` Set the logical condition expression.
`void` `setNegativeResultExpression(IASTExpression expression)` Set negative result expression.
`void` `setPositiveResultExpression(IASTExpression expression)` Set positive result expression.

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

#### LOGICAL_CONDITION

    static final ASTNodeProperty LOGICAL_CONDITION

`LOGICAL_CONDITION` represents the relationship between an `IASTConditionalExpression` and its condition `IASTExpression`.

#### POSITIVE_RESULT

    static final ASTNodeProperty POSITIVE_RESULT

`POSITIVE_RESULT` represents the relationship between an `IASTConditionalExpression` and its positive result `IASTExpression`.

#### NEGATIVE_RESULT

    static final ASTNodeProperty NEGATIVE_RESULT

`NEGATIVE_RESULT` represents the relationship between an `IASTConditionalExpression` and its positive result `IASTExpression`.

### Method Detail

#### getLogicalConditionExpression

    IASTExpression getLogicalConditionExpression()

Get the logical condition expression.

Returns:
  `IASTExpression` representing the logical condition.

#### setLogicalConditionExpression

    void setLogicalConditionExpression(IASTExpression expression)

Set the logical condition expression.

Parameters:
  `expression` - condition to be set

#### getPositiveResultExpression

    IASTExpression getPositiveResultExpression()

Get the positive result expression, or `null` in case the positive condition was omitted (this is a gcc extension).

Returns:
  `IASTExpression`, or `null`.

#### setPositiveResultExpression

    void setPositiveResultExpression(IASTExpression expression)

Set positive result expression.

Parameters:
  `expression` -

#### getNegativeResultExpression

    IASTExpression getNegativeResultExpression()

Get the negative result expression.

Returns:
  `IASTExpression`

#### setNegativeResultExpression

    void setNegativeResultExpression(IASTExpression expression)

Set negative result expression.

Parameters:
  `expression` - `IASTExpression`

#### copy

    IASTConditionalExpression 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

    IASTConditionalExpression 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