Puma::ACAspectInfo Class Reference

#include <Puma/infos/acinfos/ACAspectInfo.h>

List of all members.


Detailed Description

An ACAspectInfo object represents an AspectC++ 'aspect' declaration. An aspect declaration is syntactically equal to a C++ class declaration and also parsed like a C++ class. Additionally it contains pointcut and advice declarations.

Public Member Functions

 ACAspectInfo (CClassInfo *node)
 ~ACAspectInfo ()
CClassInfoClassInfo () const
const char * name () const
bool is_abstract () const
int PointcutInfos () const
ACPointcutInfoPointcutInfo (int n) const
void add (ACPointcutInfo *p)
int IntroNodes () const
ACIntroductionInfoIntroNode (int n) const
void addIntroNode (CT_AdviceDecl *node, CProtection::Type tp)
int IntroCount ()
int AdviceNodes () const
CT_AdviceDeclAdviceNode (int n) const
void addAdviceNode (CT_AdviceDecl *node)
int AdviceCount ()
int OrderNodes () const
CT_AdviceDeclOrderNode (int n) const
void addOrderNode (CT_AdviceDecl *node)
void aspect_of (CFunctionInfo *a)
CFunctionInfoaspect_of () const

Constructor & Destructor Documentation

Puma::ACAspectInfo::ACAspectInfo ( CClassInfo node  )  [inline]

Construct an ACAspectInfo object from a CClassInfo.

Parameters:
node The class info of the aspect declaration.

Puma::ACAspectInfo::~ACAspectInfo (  ) 

Destroy the aspect info.


Member Function Documentation

CClassInfo * Puma::ACAspectInfo::ClassInfo (  )  const [inline]

Get the class info of the aspect declaration.

const char * Puma::ACAspectInfo::name (  )  const [inline]

Get the name of the aspect.

bool Puma::ACAspectInfo::is_abstract (  )  const

Return true if the aspect is declared abstract.

int Puma::ACAspectInfo::PointcutInfos (  )  const [inline]

Return the number of pointcut declarations in the aspect.

ACPointcutInfo* Puma::ACAspectInfo::PointcutInfo ( int  n  )  const [inline]

Get the n-th pointcut declaration of the aspect.

Parameters:
n The number of the pointcut declaration.
Returns:
The pointcut info or NULL if n is invalid.

void Puma::ACAspectInfo::add ( ACPointcutInfo p  )  [inline]

Add a pointcut info to the aspect.

Parameters:
p The pointcut info.

int Puma::ACAspectInfo::IntroNodes (  )  const [inline]

Return the number of introduction advices in the aspect.

ACIntroductionInfo* Puma::ACAspectInfo::IntroNode ( int  n  )  const [inline]

Get the n-th introduction advice of the aspect.

Parameters:
n The number of the introduction info.
Returns:
The introduction info or NULL if n is invalid.

void Puma::ACAspectInfo::addIntroNode ( CT_AdviceDecl node,
CProtection::Type  tp 
) [inline]

Add an introduction advice info to the aspect.

Parameters:
node The corresponding advice declaration node.
tp The protection of the advice (public, protected, private).

int Puma::ACAspectInfo::IntroCount (  )  [inline]

Increase the introduction advice counter and return the resulting count.

int Puma::ACAspectInfo::AdviceNodes (  )  const [inline]

Return the number of advice declaration nodes in the aspect.

CT_AdviceDecl* Puma::ACAspectInfo::AdviceNode ( int  n  )  const [inline]

Get the n-th advice declaration node of the aspect.

Parameters:
n The number of the advice declaration.
Returns:
The advice declaration node or NULL if n is invalid.

void Puma::ACAspectInfo::addAdviceNode ( CT_AdviceDecl node  )  [inline]

Add an advice declaration node to the aspect info.

Parameters:
node The advice declaration syntax tree node.

int Puma::ACAspectInfo::AdviceCount (  )  [inline]

Increase the advice declaration counter and return the resulting count.

int Puma::ACAspectInfo::OrderNodes (  )  const [inline]

Return the number of order advice declaration nodes in the aspect.

CT_AdviceDecl* Puma::ACAspectInfo::OrderNode ( int  n  )  const [inline]

Get the n-th order advice declaration node of the aspect.

Parameters:
n The number of the advice declaration.
Returns:
The order advice declaration node or NULL if n is invalid.

void Puma::ACAspectInfo::addOrderNode ( CT_AdviceDecl node  )  [inline]

Add an order advice declaration node to the aspect info.

Parameters:
node The order advice declaration syntax tree node.

void Puma::ACAspectInfo::aspect_of ( CFunctionInfo a  )  [inline]

Set the aspectOf() function declared in the aspect.

Parameters:
a The function info of the aspectOf() function.

CFunctionInfo* Puma::ACAspectInfo::aspect_of (  )  const [inline]

Get the function info of the aspectOf() function.


Generated on Sat May 10 03:03:49 2008 for Puma by  doxygen 1.5.5