Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTFunctionDefinition
- All Superinterfaces:
IASTAttributeOwner
,IASTDeclaration
,IASTFunctionDefinition
,IASTNode
- All Known Subinterfaces:
ICPPASTFunctionWithTryBlock
In c++ the a function definition for a constructor may contain member initializers.
- Since:
- 5.1
- 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
MEMBER_INITIALIZER
is the role of a member initializer in the function definition.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIER
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclaration
EMPTY_DECLARATION_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition
DECL_SPECIFIER, DECLARATOR, FUNCTION_BODY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addMemberInitializer
(ICPPASTConstructorChainInitializer initializer) Adds a member initializer to this function definition.copy()
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 array of associated member initializers.boolean
Returns whether this is a defaulted function definition.boolean
Returns whether this is a deleted function definition.void
setIsDefaulted
(boolean isDefaulted) Make this a defaulted function definition, e.g.: C::C() = default;void
setIsDeleted
(boolean isDeleted) Make this a deleted function definition, e.g.: void f() = delete;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.IASTFunctionDefinition
getBody, getDeclarator, getDeclSpecifier, getScope, setBody, setDeclarator, setDeclSpecifier
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
-
MEMBER_INITIALIZER
MEMBER_INITIALIZER
is the role of a member initializer in the function definition.
-
-
Method Details
-
getMemberInitializers
ICPPASTConstructorChainInitializer[] getMemberInitializers()Returns the array of associated member initializers. -
addMemberInitializer
Adds a member initializer to this function definition. -
copy
ICPPASTFunctionDefinition 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 interfaceIASTDeclaration
- Specified by:
copy
in interfaceIASTFunctionDefinition
- Specified by:
copy
in interfaceIASTNode
- 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 interfaceIASTDeclaration
- Specified by:
copy
in interfaceIASTFunctionDefinition
- Specified by:
copy
in interfaceIASTNode
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
setIsDefaulted
void setIsDefaulted(boolean isDefaulted) Make this a defaulted function definition, e.g.: C::C() = default;- Since:
- 5.3
-
isDefaulted
boolean isDefaulted()Returns whether this is a defaulted function definition.- Since:
- 5.3
-
setIsDeleted
void setIsDeleted(boolean isDeleted) Make this a deleted function definition, e.g.: void f() = delete;- Since:
- 5.3
-
isDeleted
boolean isDeleted()Returns whether this is a deleted function definition.- Since:
- 5.3
-