Package org.eclipse.cdt.core.dom.ast
Interface IASTIfStatement
- All Superinterfaces:
IASTAttributeOwner
,IASTNode
,IASTStatement
- All Known Subinterfaces:
ICPPASTIfStatement
The 'if' statement including the optional else clause.
- 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
Modifier and TypeFieldDescriptionstatic final ASTNodeProperty
CONDITION
represents the relationship between anIASTIfStatement
and its nestedIASTExpression
.static final ASTNodeProperty
ELSE
represents the relationship between anIASTIfStatement
and its nestedIASTStatement
(else).static final ASTNodeProperty
THEN
represents the relationship between anIASTIfStatement
and its nestedIASTStatement
(then).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
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.Returns the condition in the if statement.Returns the statement that is executed if the condition is false.Returns the statement that is executed if the condition is true.void
setConditionExpression
(IASTExpression condition) Sets the condition in the if statement.void
setElseClause
(IASTStatement elseClause) Sets the else clause.void
setThenClause
(IASTStatement thenClause) Sets the statement that is executed if the condition is true.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 Details
-
CONDITION
CONDITION
represents the relationship between anIASTIfStatement
and its nestedIASTExpression
. -
THEN
THEN
represents the relationship between anIASTIfStatement
and its nestedIASTStatement
(then). -
ELSE
ELSE
represents the relationship between anIASTIfStatement
and its nestedIASTStatement
(else).
-
-
Method Details
-
getConditionExpression
IASTExpression getConditionExpression()Returns the condition in the if statement.- Returns:
- the condition
IASTExpression
. May returnnull
if the 'if' statement has condition declaration instead of condition expression (seeICPPASTIfStatement
).
-
setConditionExpression
Sets the condition in the if statement.- Parameters:
condition
-IASTExpression
-
getThenClause
IASTStatement getThenClause()Returns the statement that is executed if the condition is true.- Returns:
- the then clause
IASTStatement
-
setThenClause
Sets the statement that is executed if the condition is true.- Parameters:
thenClause
-IASTStatement
-
getElseClause
IASTStatement getElseClause()Returns the statement that is executed if the condition is false. This clause is optional and returns null if there is none.- Returns:
- the else clause or
null
IASTStatement
-
setElseClause
Sets the else clause.- Parameters:
elseClause
-IASTStatement
-
copy
IASTIfStatement 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
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
-