Eclipse CDT
Pre-release 3.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.


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.
 IASTStatement getBody()
          Get the body of the function.
 IASTFunctionDeclarator getDeclarator()
          Get the function declarator of the function.
 IASTDeclSpecifier getDeclSpecifier()
          Get the decl specifier for the function.
 IScope getScope()
          Get the logical IScope that the function definition body represents.
 void setBody(IASTStatement statement)
          Set the body of the function.
 void setDeclarator(IASTFunctionDeclarator declarator)
          Set 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, 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()
Get the decl specifier for the function.


setDeclSpecifier

void setDeclSpecifier(IASTDeclSpecifier declSpec)
Set the decl specifier for the function.

Parameters:
declSpec -

getDeclarator

IASTFunctionDeclarator getDeclarator()
Get 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)
Set 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()
Get the body of the function. This is usually a compound statement but C++ also has a function try block.


setBody

void setBody(IASTStatement statement)
Set 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.

Specified by:
copy in interface IASTDeclaration
Specified by:
copy in interface IASTNode
Since:
5.1

Eclipse CDT
Pre-release 3.0

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