Puma Reference Manual Puma::ACAspectInfo Class Reference



Puma::ACAspectInfo Class Reference

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

#include <Puma/ACAspectInfo.h>

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
nodeThe 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
pThe pointcut info.
void Puma::ACAspectInfo::addAdviceNode ( CT_AdviceDecl node)
inline

Add an advice declaration node to the aspect info.

Parameters
nodeThe 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
nodeThe corresponding advice declaration node.
tpThe 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
nodeThe 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
nThe 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.

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

Set the aspectOf() function declared in the aspect.

Parameters
aThe function info of the aspectOf() function.
CFunctionInfo* Puma::ACAspectInfo::aspect_of ( ) const
inline

Get 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
nThe 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
nThe 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
nThe 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 Thu Mar 13 2014.