Package org.eclipse.cdt.core.dom.ast
Interface IASTSwitchStatement
-
- All Superinterfaces:
IASTAttributeOwner,IASTNode,IASTStatement
- All Known Subinterfaces:
ICPPASTSwitchStatement
public interface IASTSwitchStatement extends IASTStatement
The switch statement.- 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 Modifier and Type Field Description static ASTNodePropertyBODYBODYrepresents the relationship between anIASTSwitchStatementand it's nestedIASTStatement.static ASTNodePropertyCONTROLLER_EXPCONTROLLER_EXPrepresents the relationship between anIASTSwitchStatementand it's nestedIASTExpression.-
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 Modifier and Type Method Description IASTSwitchStatementcopy()Returns a mutable copy of the tree rooted at this node.IASTSwitchStatementcopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.IASTStatementgetBody()Returns the body of the switch statement.IASTExpressiongetControllerExpression()This returns the expression which determines which case to take.voidsetBody(IASTStatement body)Set the body for the switch statement.voidsetControllerExpression(IASTExpression controller)Set the controlling expression for the switch.-
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
-
CONTROLLER_EXP
static final ASTNodeProperty CONTROLLER_EXP
CONTROLLER_EXPrepresents the relationship between anIASTSwitchStatementand it's nestedIASTExpression.
-
BODY
static final ASTNodeProperty BODY
BODYrepresents the relationship between anIASTSwitchStatementand it's nestedIASTStatement.
-
-
Method Detail
-
getControllerExpression
IASTExpression getControllerExpression()
This returns the expression which determines which case to take.- Returns:
- the controller expression
-
setControllerExpression
void setControllerExpression(IASTExpression controller)
Set the controlling expression for the switch.- Parameters:
controller-IASTExpression
-
getBody
IASTStatement getBody()
Returns the body of the switch statement. TODO - finding the cases could be a logical thing- Returns:
IASTStatement
-
setBody
void setBody(IASTStatement body)
Set the body for the switch statement.- Parameters:
body-IASTStatement
-
copy
IASTSwitchStatement copy()
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTNode- Specified by:
copyin interfaceIASTStatement- Since:
- 5.1
-
copy
IASTSwitchStatement copy(IASTNode.CopyStyle style)
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTNode- Specified by:
copyin interfaceIASTStatement- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.- Since:
- 5.3
-
-