Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTSwitchStatement
- All Superinterfaces:
IASTAttributeOwner,IASTNode,IASTStatement,IASTSwitchStatement
- 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
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyCONTROLLER_DECLARATIONrepresents the relationship between anIASTSwitchStatementand it's nestedIASTDeclaration.static final ASTNodePropertyINIT_STATEMENTrepresents the relationship between anICPPASTSwitchStatementand its nestedIASTStatement.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIERFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAYFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTStatement
EMPTY_STATEMENT_ARRAYFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTSwitchStatement
BODY, CONTROLLER_EXP -
Method Summary
Modifier and TypeMethodDescriptioncopy()Returns a mutable copy of the tree rooted at this node.copy(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.In C++, a switch statement can be contorller by a declaration.Returns the init-statement for a switch.getScope()Get theIScoperepresented by this switch.voidIn C++, a switch statement can be contorller by a declaration.voidsetInitializerStatement(IASTStatement statement) Sets the optional init-statement of an switch.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiersMethods 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, setPropertyInParentMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTSwitchStatement
getBody, getControllerExpression, setBody, setControllerExpression
-
Field Details
-
INIT_STATEMENT
INIT_STATEMENTrepresents the relationship between anICPPASTSwitchStatementand its nestedIASTStatement.- Since:
- 6.5
-
CONTROLLER_DECLARATION
CONTROLLER_DECLARATIONrepresents the relationship between anIASTSwitchStatementand it's nestedIASTDeclaration.
-
-
Method Details
-
getControllerDeclaration
IASTDeclaration getControllerDeclaration()In C++, a switch statement can be contorller by a declaration.- Returns:
IASTDeclaration
-
setControllerDeclaration
In C++, a switch statement can be contorller by a declaration.- Parameters:
d-IASTDeclaration
-
getInitializerStatement
IASTStatement getInitializerStatement()Returns the init-statement for a switch.- Returns:
- the init-statement, or
nullif the 'switch' statement doesn't have one. - Since:
- 6.5
-
setInitializerStatement
Sets the optional init-statement of an switch.- Parameters:
statement- this statement should either be aIASTSimpleDeclarationor aIASTExpressionStatement.- Since:
- 6.5
-
getScope
IScope getScope()Get theIScoperepresented by this switch.- Returns:
IScope
-
copy
ICPPASTSwitchStatement 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- Specified by:
copyin interfaceIASTSwitchStatement- Since:
- 5.1
-
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.- Specified by:
copyin interfaceIASTNode- Specified by:
copyin interfaceIASTStatement- Specified by:
copyin interfaceIASTSwitchStatement- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.- Since:
- 5.3
-