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 ASTNodePropertyMEMBER_INITIALIZERMEMBER_INITIALIZERis 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 voidaddMemberInitializer(ICPPASTConstructorChainInitializer initializer)Adds a member initializer to this function definition.ICPPASTFunctionDefinitioncopy()Returns a mutable copy of the tree rooted at this node.ICPPASTFunctionDefinitioncopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.ICPPASTConstructorChainInitializer[]getMemberInitializers()Returns the array of associated member initializers.booleanisDefaulted()Returns whether this is a defaulted function definition.booleanisDeleted()Returns whether this is a deleted function definition.voidsetIsDefaulted(boolean isDefaulted)Make this a defaulted function definition, e.g.: C::C() = default;voidsetIsDeleted(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_INITIALIZERis 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: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 interfaceIASTDeclaration- Specified by:
copyin interfaceIASTFunctionDefinition- Specified by:
copyin interfaceIASTNode- Since:
- 5.1
-
copy
ICPPASTFunctionDefinition 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 interfaceIASTDeclaration- Specified by:
copyin interfaceIASTFunctionDefinition- Specified by:
copyin interfaceIASTNode- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor 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
-
-