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 IASTNode
IASTNode.CopyStyle -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyFUNCTION_PARAMETERrepresents the relationship between anIASTStandardFunctionDeclaratorand it's nestedIASTParameterDeclaration.Fields inherited from interface IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIERFields inherited from interface IASTDeclarator
DECLARATOR_NAME, EMPTY_DECLARATOR_ARRAY, INITIALIZER, NESTED_DECLARATOR, POINTER_OPERATORFields inherited from interface IASTNameOwner
r_declaration, r_definition, r_reference, r_unclearFields inherited from interface IASTNode
EMPTY_NODE_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionvoidaddParameterDeclaration(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 functionvoidsetVarArgs(boolean value) Set whether or not this function takes a variable number or arguments.booleanDoes this function take a variable number of arguments?Methods inherited from interface IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiersMethods inherited from interface IASTDeclarator
addPointerOperator, getInitializer, getName, getNestedDeclarator, getPointerOperators, setInitializer, setName, setNestedDeclaratorMethods inherited from interface IASTNameOwner
getRoleForNameMethods inherited from interface 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_PARAMETERrepresents the relationship between anIASTStandardFunctionDeclaratorand 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: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- 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- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.- Since:
- 5.3
-