Eclipse CDT
7.0

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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
 
Field Summary
static ASTNodeProperty DECL_SPECIFIER
          DECL_SPECIFIER represents the relationship between a IASTFunctionDefinition and its IASTDeclSpecifier.
static ASTNodeProperty DECLARATOR
          DECLARATOR represents the relationship between a IASTFunctionDefinition and its IASTFunctionDeclarator.
static ASTNodeProperty FUNCTION_BODY
          FUNCTION_BODY represents the relationship between a IASTFunctionDefinition and its IASTStatement.
 
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
 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 a IASTFunctionDefinition and its IASTDeclSpecifier.


DECLARATOR

static final ASTNodeProperty DECLARATOR
DECLARATOR represents the relationship between a IASTFunctionDefinition and its IASTFunctionDeclarator.


FUNCTION_BODY

static final ASTNodeProperty FUNCTION_BODY
FUNCTION_BODY represents the relationship between a IASTFunctionDefinition and its IASTStatement.

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

Specified by:
copy in interface IASTDeclaration
Specified by:
copy in interface IASTNode
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 interface IASTDeclaration
Specified by:
copy in interface IASTNode
Parameters:
style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
Since:
5.3

Eclipse CDT
7.0

Copyright (c) IBM Corp. and others 2004, 2012. All Rights Reserved.