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 ClassesNested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyDeprecated.Not used.static final ASTNodePropertystatic final IASTTypeId[]Used as return value forgetExceptionSpecification().static final ICPPASTVirtSpecifier[]Used as return value forgetVirtSpecifiers().static final ICPPASTLiteralExpressionRepresents a 'noexcept' specification without an expression.static final ASTNodePropertystatic final ASTNodePropertystatic final ASTNodePropertyFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIERFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclarator
DECLARATOR_NAME, EMPTY_DECLARATOR_ARRAY, INITIALIZER, NESTED_DECLARATOR, POINTER_OPERATORFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclearFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAYFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator
FUNCTION_PARAMETER -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConstructorToChain(ICPPASTConstructorChainInitializer initializer) voidAdd an exception specification type Id.voidaddVirtSpecifier(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.ICPPEvaluationReturns the noexcept evaluation, ornullif no noexcept specification is present, or or an evaluation representingnoexcept(true)in case of an empty exception specification.Returns the noexcept expression,NOEXCEPT_DEFAULTif the noexcept specification does not contain an expression, ornullthe 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.booleanisConst()Is this a const method?booleanWhen used as a lambda declarator, it can be constexpr.booleanisFinal()Returns whether this function is declared final.booleanWhen used as a lambda declarator, it can be mutable.booleanReturns whether this function is declared override.booleanIs the method pure virtual?booleanIs this a volatile method?voidsetConst(boolean value) Sets the method to be const or not.voidsetConstexpr(boolean value) When used as a lambda declarator, it can be constexpr.voidConfigures the declarator with an empty exception specification (as opposed to having none).voidsetFinal(boolean isFinal) Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)instead.voidsetMutable(boolean value) When used as a lambda declarator, it can be mutable.voidsetNoexceptExpression(ICPPASTExpression expression) Sets the noexcept expression.voidsetOverride(boolean isOverride) Deprecated.UseaddVirtSpecifier(ICPPASTVirtSpecifier)instead.voidsetPureVirtual(boolean isPureVirtual) Sets this method to be pure virtual.voidSets the ref-qualifier.voidsetTrailingReturnType(IASTTypeId typeId) Trailing return type as inauto f() -> int.voidsetVirtSpecifiers(ICPPASTVirtSpecifier[] newVirtSpecifiers) Set virt-specifiers of this function.voidsetVolatile(boolean value) Sets the method to be volatile or not.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiersMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclarator
addPointerOperator, getInitializer, getName, getNestedDeclarator, getPointerOperators, setInitializer, setName, setNestedDeclaratorMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForNameMethods 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, setPropertyInParentMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator
addParameterDeclaration, setVarArgs, takesVarArgsMethods 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:IASTStandardFunctionDeclaratorGets the parameter declarations for the function- Specified by:
getParametersin 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_SPECIFICATIONindicates that no exceptions are specified, whereasIASTTypeId.EMPTY_TYPEID_ARRAYis 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_DEFAULTif the noexcept specification does not contain an expression, ornullthe 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, ornullif 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:
getFunctionScopein interfaceIASTStandardFunctionDeclarator
-
copy
ICPPASTFunctionDeclarator 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 interfaceIASTDeclarator- Specified by:
copyin interfaceIASTFunctionDeclarator- Specified by:
copyin interfaceIASTNode- Specified by:
copyin interfaceIASTStandardFunctionDeclarator- Since:
- 5.1
-
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.- Specified by:
copyin interfaceIASTDeclarator- Specified by:
copyin interfaceIASTFunctionDeclarator- Specified by:
copyin interfaceIASTNode- Specified by:
copyin interfaceIASTStandardFunctionDeclarator- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor 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.
-