Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTSwitchStatement
-
- All Superinterfaces:
IASTAttributeOwner,IASTNode,IASTStatement,IASTSwitchStatement
public interface ICPPASTSwitchStatement extends 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
Fields Modifier and Type Field Description static ASTNodePropertyCONTROLLER_DECLARATIONCONTROLLER_DECLARATIONrepresents the relationship between anIASTSwitchStatementand it's nestedIASTDeclaration.static ASTNodePropertyINIT_STATEMENTINIT_STATEMENTrepresents the relationship between anICPPASTSwitchStatementand its nestedIASTStatement.-
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
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTSwitchStatement
BODY, CONTROLLER_EXP
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ICPPASTSwitchStatementcopy()Returns a mutable copy of the tree rooted at this node.ICPPASTSwitchStatementcopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.IASTDeclarationgetControllerDeclaration()In C++, a switch statement can be contorller by a declaration.IASTStatementgetInitializerStatement()Returns the init-statement for a switch.IScopegetScope()Get theIScoperepresented by this switch.voidsetControllerDeclaration(IASTDeclaration d)In 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, 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
-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTSwitchStatement
getBody, getControllerExpression, setBody, setControllerExpression
-
-
-
-
Field Detail
-
INIT_STATEMENT
static final ASTNodeProperty INIT_STATEMENT
INIT_STATEMENTrepresents the relationship between anICPPASTSwitchStatementand its nestedIASTStatement.- Since:
- 6.5
-
CONTROLLER_DECLARATION
static final ASTNodeProperty CONTROLLER_DECLARATION
CONTROLLER_DECLARATIONrepresents the relationship between anIASTSwitchStatementand it's nestedIASTDeclaration.
-
-
Method Detail
-
getControllerDeclaration
IASTDeclaration getControllerDeclaration()
In C++, a switch statement can be contorller by a declaration.- Returns:
IASTDeclaration
-
setControllerDeclaration
void setControllerDeclaration(IASTDeclaration d)
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
void setInitializerStatement(IASTStatement statement)
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
ICPPASTSwitchStatement 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- 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
-
-