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 ASTNodeProperty
CONTROLLER_DECLARATION
CONTROLLER_DECLARATION
represents the relationship between anIASTSwitchStatement
and it's nestedIASTDeclaration
.static ASTNodeProperty
INIT_STATEMENT
INIT_STATEMENT
represents the relationship between anICPPASTSwitchStatement
and 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 ICPPASTSwitchStatement
copy()
Returns a mutable copy of the tree rooted at this node.ICPPASTSwitchStatement
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTDeclaration
getControllerDeclaration()
In C++, a switch statement can be contorller by a declaration.IASTStatement
getInitializerStatement()
Returns the init-statement for a switch.IScope
getScope()
Get theIScope
represented by this switch.void
setControllerDeclaration(IASTDeclaration d)
In C++, a switch statement can be contorller by a declaration.void
setInitializerStatement(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_STATEMENT
represents the relationship between anICPPASTSwitchStatement
and its nestedIASTStatement
.- Since:
- 6.5
-
CONTROLLER_DECLARATION
static final ASTNodeProperty CONTROLLER_DECLARATION
CONTROLLER_DECLARATION
represents the relationship between anIASTSwitchStatement
and 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
null
if 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 aIASTSimpleDeclaration
or aIASTExpressionStatement
.- Since:
- 6.5
-
getScope
IScope getScope()
Get theIScope
represented by this switch.- Returns:
IScope
-
copy
ICPPASTSwitchStatement 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
- Specified by:
copy
in interfaceIASTSwitchStatement
- Since:
- 5.1
-
copy
ICPPASTSwitchStatement 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
- Specified by:
copy
in interfaceIASTSwitchStatement
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
-