Package org.eclipse.cdt.core.dom.ast
Interface IASTStandardFunctionDeclarator
- All Superinterfaces:
IASTAttributeOwner
,IASTDeclarator
,IASTFunctionDeclarator
,IASTNameOwner
,IASTNode
- All Known Subinterfaces:
ICPPASTDeductionGuide
,ICPPASTFunctionDeclarator
,ICPPASTFunctionTryBlockDeclarator
This is a declarator for a non K&R C function.
- 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
FUNCTION_PARAMETER
represents the relationship between anIASTStandardFunctionDeclarator
and it's nestedIASTParameterDeclaration
.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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addParameterDeclaration
(IASTParameterDeclaration parameter) Add a parameter.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.Get the scope for this declarator.Gets the parameter declarations for the functionvoid
setVarArgs
(boolean value) Set whether or not this function takes a variable number or arguments.boolean
Does this function take a variable number of arguments?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
-
Field Details
-
FUNCTION_PARAMETER
FUNCTION_PARAMETER
represents the relationship between anIASTStandardFunctionDeclarator
and it's nestedIASTParameterDeclaration
.
-
-
Method Details
-
getFunctionScope
IScope getFunctionScope()Get the scope for this declarator. Returnsnull
, if this declarator does not declare a function-prototype or function-definition.- Since:
- 5.1
-
getParameters
IASTParameterDeclaration[] getParameters()Gets the parameter declarations for the function- Returns:
- array of IASTParameterDeclaration
-
addParameterDeclaration
Add a parameter.- Parameters:
parameter
-IASTParameterDeclaration
-
takesVarArgs
boolean takesVarArgs()Does this function take a variable number of arguments?- Returns:
- boolean
-
setVarArgs
void setVarArgs(boolean value) Set whether or not this function takes a variable number or arguments.- Parameters:
value
- boolean
-
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
- 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
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-