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 ASTNodeProperty
BODY
BODY
represents the relationship between anIASTSwitchStatement
and it's nestedIASTStatement
.static ASTNodeProperty
CONTROLLER_EXP
CONTROLLER_EXP
represents the relationship between anIASTSwitchStatement
and 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 IASTSwitchStatement
copy()
Returns a mutable copy of the tree rooted at this node.IASTSwitchStatement
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTStatement
getBody()
Returns the body of the switch statement.IASTExpression
getControllerExpression()
This returns the expression which determines which case to take.void
setBody(IASTStatement body)
Set the body for the switch statement.void
setControllerExpression(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_EXP
represents the relationship between anIASTSwitchStatement
and it's nestedIASTExpression
.
-
BODY
static final ASTNodeProperty BODY
BODY
represents the relationship between anIASTSwitchStatement
and 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: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 interfaceIASTNode
- Specified by:
copy
in interfaceIASTStatement
- Since:
- 5.1
-
copy
IASTSwitchStatement 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 interfaceIASTNode
- Specified by:
copy
in interfaceIASTStatement
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
-