Interface ICASTKnRFunctionDeclarator
- All Superinterfaces:
IASTAttributeOwner,IASTDeclarator,IASTFunctionDeclarator,IASTNameOwner,IASTNode
This is the declarator for a 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
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyFUNCTION_PARAMETERrepresents the relationship between an K&R function declarator and the full parameter declarations.static final ASTNodePropertyPARAMETER_NAMErefers to the names qualified in a K&R C function definition.Fields 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_ARRAY -
Method Summary
Modifier and TypeMethodDescriptioncopy()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.Map declarator to IASTName.Get parameters declarations.IASTName[]Returns parameter names.voidsetParameterDeclarations(IASTDeclaration[] decls) Sets the parameter lists.voidsetParameterNames(IASTName[] names) Sets the parameter names.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, setPropertyInParent
-
Field Details
-
PARAMETER_NAME
PARAMETER_NAMErefers to the names qualified in a K&R C function definition. -
FUNCTION_PARAMETER
FUNCTION_PARAMETERrepresents the relationship between an K&R function declarator and the full parameter declarations.
-
-
Method Details
-
setParameterNames
Sets the parameter names. TODO - this should change to add- Parameters:
names-IASTName []
-
getParameterNames
IASTName[] getParameterNames()Returns parameter names.- Returns:
IASTName []
-
setParameterDeclarations
Sets the parameter lists.- Parameters:
decls- TODO - replace w/zadd
-
getParameterDeclarations
IASTDeclaration[] getParameterDeclarations()Get parameters declarations.- Returns:
IASTDeclaration []
-
getDeclaratorForParameterName
Map declarator to IASTName.- Parameters:
name-IASTName
-
copy
ICASTKnRFunctionDeclarator 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
-