Puma Reference Manual Puma: Puma::ACAspectInfo Class Reference



Puma::ACAspectInfo Class Reference

Semantic information about an AspectC++ 'aspect' declaration. More...

#include <Puma/ACAspectInfo.h>

List of all members.

Public Member Functions

 ACAspectInfo (CClassInfo *node)
 Construct an ACAspectInfo object from a CClassInfo.
 ~ACAspectInfo ()
 Destroy the aspect info.
CClassInfoClassInfo () const
 Get the class info of the aspect declaration.
const char * name () const
 Get the name of the aspect.
bool is_abstract () const
 Return true if the aspect is declared abstract.
int PointcutInfos () const
 Return the number of pointcut declarations in the aspect.
ACPointcutInfoPointcutInfo (int n) const
 Get the n-th pointcut declaration of the aspect.
void add (ACPointcutInfo *p)
 Add a pointcut info to the aspect.
int IntroNodes () const
 Return the number of introduction advices in the aspect.
ACIntroductionInfoIntroNode (int n) const
 Get the n-th introduction advice of the aspect.
void addIntroNode (CT_AdviceDecl *node, CProtection::Type tp)
 Add an introduction advice info to the aspect.
int IntroCount ()
 Increase the introduction advice counter and return the resulting count.
int AdviceNodes () const
 Return the number of advice declaration nodes in the aspect.
CT_AdviceDeclAdviceNode (int n) const
 Get the n-th advice declaration node of the aspect.
void addAdviceNode (CT_AdviceDecl *node)
 Add an advice declaration node to the aspect info.
int AdviceCount ()
 Increase the advice declaration counter and return the resulting count.
int OrderNodes () const
 Return the number of order advice declaration nodes in the aspect.
CT_AdviceDeclOrderNode (int n) const
 Get the n-th order advice declaration node of the aspect.
void addOrderNode (CT_AdviceDecl *node)
 Add an order advice declaration node to the aspect info.
void aspect_of (CFunctionInfo *a)
 Set the aspectOf() function declared in the aspect.
CFunctionInfoaspect_of () const
 Get the function info of the aspectOf() function.

Detailed Description

Semantic information about 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.


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

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

Add a pointcut info to the aspect.

Parameters:
p The pointcut info.
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.
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).
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.
int Puma::ACAspectInfo::AdviceCount (  )  [inline]

Increase the advice declaration counter and return the resulting count.

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.
int Puma::ACAspectInfo::AdviceNodes (  )  const [inline]

Return the number of advice declaration nodes in the aspect.

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

Get the function info of the aspectOf() function.

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.
CClassInfo * Puma::ACAspectInfo::ClassInfo (  )  const [inline]

Get the class info of the aspect declaration.

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

Increase the introduction advice counter and return the resulting count.

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.
int Puma::ACAspectInfo::IntroNodes (  )  const [inline]

Return the number of introduction advices in the aspect.

bool Puma::ACAspectInfo::is_abstract (  )  const

Return true if the aspect is declared abstract.

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

Get the name of 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.
int Puma::ACAspectInfo::OrderNodes (  )  const [inline]

Return the number of order advice declaration nodes 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.
int Puma::ACAspectInfo::PointcutInfos (  )  const [inline]

Return the number of pointcut declarations in the aspect.




Puma Reference Manual. Created on 24 Nov 2009.