Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTFunctionDefinition
-
- All Superinterfaces:
IASTAttributeOwner
,IASTDeclaration
,IASTFunctionDefinition
,IASTNode
- All Known Subinterfaces:
ICPPASTFunctionWithTryBlock
public interface ICPPASTFunctionDefinition extends IASTFunctionDefinition, IASTAttributeOwner
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
Fields Modifier and Type Field Description static ASTNodeProperty
MEMBER_INITIALIZER
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addMemberInitializer(ICPPASTConstructorChainInitializer initializer)
Adds a member initializer to this function definition.ICPPASTFunctionDefinition
copy()
Returns a mutable copy of the tree rooted at this node.ICPPASTFunctionDefinition
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.ICPPASTConstructorChainInitializer[]
getMemberInitializers()
Returns the array of associated member initializers.boolean
isDefaulted()
Returns whether this is a defaulted function definition.boolean
isDeleted()
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 Detail
-
MEMBER_INITIALIZER
static final ASTNodeProperty MEMBER_INITIALIZER
MEMBER_INITIALIZER
is the role of a member initializer in the function definition.
-
-
Method Detail
-
getMemberInitializers
ICPPASTConstructorChainInitializer[] getMemberInitializers()
Returns the array of associated member initializers.
-
addMemberInitializer
void addMemberInitializer(ICPPASTConstructorChainInitializer initializer)
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
ICPPASTFunctionDefinition 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 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
-
-