Package org.eclipse.cdt.core.dom.ast
Interface IASTFunctionDefinition
-
- All Superinterfaces:
IASTDeclaration
,IASTNode
- All Known Subinterfaces:
ICPPASTFunctionDefinition
,ICPPASTFunctionWithTryBlock
public interface IASTFunctionDefinition extends IASTDeclaration
This is a function definition, i.e. it has a body.- 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
Fields Modifier and Type Field Description static ASTNodeProperty
DECL_SPECIFIER
DECL_SPECIFIER
represents the relationship between aIASTFunctionDefinition
and itsIASTDeclSpecifier
.static ASTNodeProperty
DECLARATOR
DECLARATOR
represents the relationship between aIASTFunctionDefinition
and itsIASTFunctionDeclarator
.static ASTNodeProperty
FUNCTION_BODY
FUNCTION_BODY
represents the relationship between aIASTFunctionDefinition
and itsIASTStatement
.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclaration
EMPTY_DECLARATION_ARRAY
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IASTFunctionDefinition
copy()
Returns a mutable copy of the tree rooted at this node.IASTFunctionDefinition
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTStatement
getBody()
Returns the body of the function.IASTFunctionDeclarator
getDeclarator()
Returns the function declarator of the function.IASTDeclSpecifier
getDeclSpecifier()
Returns the decl specifier for the function.IScope
getScope()
Get the logical IScope that the function definition body represents.void
setBody(IASTStatement statement)
Sets the body of the function.void
setDeclarator(IASTFunctionDeclarator declarator)
Sets the declarator for the function.void
setDeclSpecifier(IASTDeclSpecifier declSpec)
Set the decl specifier for the function.-
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 Detail
-
DECL_SPECIFIER
static final ASTNodeProperty DECL_SPECIFIER
DECL_SPECIFIER
represents the relationship between aIASTFunctionDefinition
and itsIASTDeclSpecifier
.
-
DECLARATOR
static final ASTNodeProperty DECLARATOR
DECLARATOR
represents the relationship between aIASTFunctionDefinition
and itsIASTFunctionDeclarator
.
-
FUNCTION_BODY
static final ASTNodeProperty FUNCTION_BODY
FUNCTION_BODY
represents the relationship between aIASTFunctionDefinition
and itsIASTStatement
.
-
-
Method Detail
-
getDeclSpecifier
IASTDeclSpecifier getDeclSpecifier()
Returns the decl specifier for the function.
-
setDeclSpecifier
void setDeclSpecifier(IASTDeclSpecifier declSpec)
Set the decl specifier for the function.- Parameters:
declSpec
-
-
getDeclarator
IASTFunctionDeclarator getDeclarator()
Returns the function declarator of the function. Note, that the function declarator may contain nested declarators and may also nest within another declarator. In the latter case this function definition is always the parent of the outermost declarator.void (f)(int a); // has nested declarator void (f(int a)); // is nested in another declarator
-
setDeclarator
void setDeclarator(IASTFunctionDeclarator declarator)
Sets the declarator for the function. Note, that the function declarator may contain nested declarators and may also nest within another declarator. In the latter case this function definition is set to be the parent of the outermost declarator.void (f)(int a); // has nested declarator void (f(int a)); // is nested in another declarator
- Parameters:
declarator
-
-
getBody
IASTStatement getBody()
Returns the body of the function. This is usually a compound statement but C++ also has a function try block.
-
setBody
void setBody(IASTStatement statement)
Sets the body of the function.- Parameters:
statement
-
-
getScope
IScope getScope()
Get the logical IScope that the function definition body represents.- Returns:
IScope
representing function body.
-
copy
IASTFunctionDefinition 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 interfaceIASTDeclaration
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-
copy
IASTFunctionDefinition copy(IASTNode.CopyStyle style)
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 interfaceIASTDeclaration
- 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
-
-