Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTFunctionDeclarator
- All Superinterfaces:
IASTAttributeOwner
,IASTDeclarator
,IASTFunctionDeclarator
,IASTNameOwner
,IASTNode
,IASTStandardFunctionDeclarator
,ICPPASTDeclarator
- All Known Subinterfaces:
ICPPASTDeductionGuide
,ICPPASTFunctionTryBlockDeclarator
public interface ICPPASTFunctionDeclarator
extends IASTStandardFunctionDeclarator, ICPPASTDeclarator
C++ adds a few things to function declarators.
- 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
Deprecated.Not used.static final ASTNodeProperty
static final IASTTypeId[]
Used as return value forgetExceptionSpecification()
.static final ICPPASTVirtSpecifier[]
Used as return value forgetVirtSpecifiers()
.static final ICPPASTLiteralExpression
Represents a 'noexcept' specification without an expression.static final ASTNodeProperty
static final ASTNodeProperty
static final ASTNodeProperty
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIER
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclarator
DECLARATOR_NAME, EMPTY_DECLARATOR_ARRAY, INITIALIZER, NESTED_DECLARATOR, POINTER_OPERATOR
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator
FUNCTION_PARAMETER
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addConstructorToChain
(ICPPASTConstructorChainInitializer initializer) void
Add an exception specification type Id.void
addVirtSpecifier
(ICPPASTVirtSpecifier virtSpecifier) Add a virt-specifiers to this function.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.Deprecated.UseICPPASTFunctionDefinition.getMemberInitializers()
, instead.Returns an array of type-ids representing the exception specification.Get function scope this node represents.org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPEvaluation
Returns the noexcept evaluation, ornull
if no noexcept specification is present, or or an evaluation representingnoexcept(true)
in case of an empty exception specification.Returns the noexcept expression,NOEXCEPT_DEFAULT
if the noexcept specification does not contain an expression, ornull
the noexcept specification is not present.Gets the parameter declarations for the functionReturns the ref-qualifier.Returns the trailing return type as inauto f() -gt; int
, ornull
.Returns the virt-specifiers of this function.boolean
isConst()
Is this a const method?boolean
When used as a lambda declarator, it can be constexpr.boolean
isFinal()
Returns whether this function is declared final.boolean
When used as a lambda declarator, it can be mutable.boolean
Returns whether this function is declared override.boolean
Is the method pure virtual?boolean
Is this a volatile method?void
setConst
(boolean value) Sets the method to be const or not.void
setConstexpr
(boolean value) When used as a lambda declarator, it can be constexpr.void
Configures the declarator with an empty exception specification (as opposed to having none).void
setFinal
(boolean isFinal) Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)
instead.void
setMutable
(boolean value) When used as a lambda declarator, it can be mutable.void
setNoexceptExpression
(ICPPASTExpression expression) Sets the noexcept expression.void
setOverride
(boolean isOverride) Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)
instead.void
setPureVirtual
(boolean isPureVirtual) Sets this method to be pure virtual.void
Sets the ref-qualifier.void
setTrailingReturnType
(IASTTypeId typeId) Trailing return type as inauto f() -> int
.void
setVirtSpecifiers
(ICPPASTVirtSpecifier[] newVirtSpecifiers) Set virt-specifiers of this function.void
setVolatile
(boolean value) Sets the method to be volatile or not.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.IASTDeclarator
addPointerOperator, getInitializer, getName, getNestedDeclarator, getPointerOperators, setInitializer, setName, setNestedDeclarator
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
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.IASTStandardFunctionDeclarator
addParameterDeclaration, setVarArgs, takesVarArgs
Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclarator
declaresParameterPack, setDeclaresParameterPack
-
Field Details
-
NO_EXCEPTION_SPECIFICATION
Used as return value forgetExceptionSpecification()
.- Since:
- 5.1
-
NO_VIRT_SPECIFIERS
Used as return value forgetVirtSpecifiers()
.- Since:
- 5.7
-
NOEXCEPT_DEFAULT
Represents a 'noexcept' specification without an expression.- Since:
- 5.5
-
EXCEPTION_TYPEID
-
NOEXCEPT_EXPRESSION
- Since:
- 5.5
-
TRAILING_RETURN_TYPE
- Since:
- 5.2
-
VIRT_SPECIFIER
- Since:
- 5.7
-
CONSTRUCTOR_CHAIN_MEMBER
Deprecated.Not used.- Restriction:
- This field is not intended to be referenced by clients.
-
-
Method Details
-
isConst
boolean isConst()Is this a const method? -
setConst
void setConst(boolean value) Sets the method to be const or not. -
isVolatile
boolean isVolatile()Is this a volatile method? -
setVolatile
void setVolatile(boolean value) Sets the method to be volatile or not. -
isMutable
boolean isMutable()When used as a lambda declarator, it can be mutable.- Since:
- 5.3
-
setMutable
void setMutable(boolean value) When used as a lambda declarator, it can be mutable.- Since:
- 5.3
-
isConstexpr
boolean isConstexpr()When used as a lambda declarator, it can be constexpr.- Since:
- 7.0
-
setConstexpr
void setConstexpr(boolean value) When used as a lambda declarator, it can be constexpr.- Since:
- 7.0
-
isPureVirtual
boolean isPureVirtual()Is the method pure virtual? -
setPureVirtual
void setPureVirtual(boolean isPureVirtual) Sets this method to be pure virtual. -
getRefQualifier
ICPPASTFunctionDeclarator.RefQualifier getRefQualifier()Returns the ref-qualifier.- Since:
- 5.9
-
setRefQualifier
Sets the ref-qualifier.- Since:
- 5.9
-
getParameters
ICPPASTParameterDeclaration[] getParameters()Description copied from interface:IASTStandardFunctionDeclarator
Gets the parameter declarations for the function- Specified by:
getParameters
in interfaceIASTStandardFunctionDeclarator
- Returns:
- array of IASTParameterDeclaration
- Since:
- 5.2
-
getExceptionSpecification
IASTTypeId[] getExceptionSpecification()Returns an array of type-ids representing the exception specification. The return valueNO_EXCEPTION_SPECIFICATION
indicates that no exceptions are specified, whereasIASTTypeId.EMPTY_TYPEID_ARRAY
is used for an empty exception specification. -
addExceptionSpecificationTypeId
Add an exception specification type Id. -
setEmptyExceptionSpecification
void setEmptyExceptionSpecification()Configures the declarator with an empty exception specification (as opposed to having none).- Since:
- 5.1
-
getNoexceptExpression
ICPPASTExpression getNoexceptExpression()Returns the noexcept expression,NOEXCEPT_DEFAULT
if the noexcept specification does not contain an expression, ornull
the noexcept specification is not present. See C++11 5.4.1.- Since:
- 5.5
-
getNoexceptEvaluation
org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPEvaluation getNoexceptEvaluation()Returns the noexcept evaluation, ornull
if no noexcept specification is present, or or an evaluation representingnoexcept(true)
in case of an empty exception specification.- Since:
- 6.7
- Restriction:
- This method is not intended to be referenced by clients.
-
setNoexceptExpression
Sets the noexcept expression.- Since:
- 5.5
-
getTrailingReturnType
IASTTypeId getTrailingReturnType()Returns the trailing return type as inauto f() -gt; int
, ornull
.- Since:
- 5.2
-
setTrailingReturnType
Trailing return type as inauto f() -> int
.- Since:
- 5.2
-
getFunctionScope
ICPPFunctionScope getFunctionScope()Get function scope this node represents. Returnsnull
, if this declarator does not declare a function-prototype or function-definition.- Specified by:
getFunctionScope
in interfaceIASTStandardFunctionDeclarator
-
copy
ICPPASTFunctionDeclarator 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 interfaceIASTDeclarator
- Specified by:
copy
in interfaceIASTFunctionDeclarator
- Specified by:
copy
in interfaceIASTNode
- Specified by:
copy
in interfaceIASTStandardFunctionDeclarator
- 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 interfaceIASTDeclarator
- Specified by:
copy
in interfaceIASTFunctionDeclarator
- Specified by:
copy
in interfaceIASTNode
- Specified by:
copy
in interfaceIASTStandardFunctionDeclarator
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
isOverride
boolean isOverride()Returns whether this function is declared override.- Since:
- 5.5
-
isFinal
boolean isFinal()Returns whether this function is declared final.- Since:
- 5.5
-
getVirtSpecifiers
ICPPASTVirtSpecifier[] getVirtSpecifiers()Returns the virt-specifiers of this function.- Since:
- 5.7
-
addVirtSpecifier
Add a virt-specifiers to this function.- Since:
- 5.7
-
setVirtSpecifiers
Set virt-specifiers of this function.- Since:
- 6.6
-
getConstructorChain
Deprecated.UseICPPASTFunctionDefinition.getMemberInitializers()
, instead.- Restriction:
- This method is not intended to be referenced by clients.
-
addConstructorToChain
- Restriction:
- This method is not intended to be referenced by clients.
-
setFinal
Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)
instead.- Since:
- 5.5
- Restriction:
- This method is not intended to be referenced by clients.
-
setOverride
Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)
instead.- Since:
- 5.5
- Restriction:
- This method is not intended to be referenced by clients.
-