Puma::ACAdviceInfo Class Reference

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

List of all members.


Detailed Description

An ACAdviceInfo object represents an AspectC++ 'advice' declaration. An advice is part of an aspect declaration.

Public Types

enum  advice_type { BEFORE, AROUND, AFTER }

Public Member Functions

 ACAdviceInfo (int n)
const char * name ()
bool is_inherited ()
void is_inherited (bool i)
void parent (ACAdviceInfo *p)
ACAdviceInfoparent ()
ACAdviceInforoot ()
advice_type type ()
void def_node (CT_AdviceDecl *ad)
CT_AdviceDecldef_node ()
void decl_node (CT_AdviceDecl *ad)
CT_AdviceDecldecl_node ()
void Aspect (ACAspectInfo *ai)
ACAspectInfoAspect ()
CFunctionInfofunction ()
bool uses_aspectOf () const
void uses_aspectOf (bool u)

Member Enumeration Documentation

The three advice types: before, around, and after advice.

Enumerator:
BEFORE 
AROUND 
AFTER 


Constructor & Destructor Documentation

Puma::ACAdviceInfo::ACAdviceInfo ( int  n  )  [inline]

Construct an advice info object. Also constructs the internal name of an advice.

Parameters:
n A consecutive number used for the unique internal name of the advice.


Member Function Documentation

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

Get the internal name of the advice.

bool Puma::ACAdviceInfo::is_inherited (  )  [inline]

Return true if the advice is inherited from another aspect.

void Puma::ACAdviceInfo::is_inherited ( bool  i  )  [inline]

Set the inherited state of the advice info.

Parameters:
i true if the advice is inherited from another aspect.

void Puma::ACAdviceInfo::parent ( ACAdviceInfo p  )  [inline]

Set the parent advice. The parent advice is the advice in the base aspect from which this advice inherits.

Parameters:
p The advice info of the parent advice.

ACAdviceInfo* Puma::ACAdviceInfo::parent (  )  [inline]

Get the parent advice info. If an advice is inherited from another aspect, this method returns the info of the corresponding advice of the base aspect.

Returns:
The advice info or NULL if advice is not inherited.

ACAdviceInfo* Puma::ACAdviceInfo::root (  )  [inline]

If an advice is inherited, this method returns the info of the advice of the aspect first defining the advice.

Returns:
The advice info or this if the advice is not inherited.

advice_type Puma::ACAdviceInfo::type (  )  [inline]

Get the type of the advice.

void Puma::ACAdviceInfo::def_node ( CT_AdviceDecl ad  )  [inline]

Set the syntax tree node of the definition of the advice.

Parameters:
ad The advice definition syntax tree node.

CT_AdviceDecl* Puma::ACAdviceInfo::def_node (  )  [inline]

Get the advice definition syntax tree node.

void Puma::ACAdviceInfo::decl_node ( CT_AdviceDecl ad  )  [inline]

Set the syntax tree node of the declaration of the advice.

Parameters:
ad The advice declaration syntax tree node.

CT_AdviceDecl* Puma::ACAdviceInfo::decl_node (  )  [inline]

Get the advice declaration syntax tree node.

void Puma::ACAdviceInfo::Aspect ( ACAspectInfo ai  )  [inline]

Set the aspect containing the advice.

Parameters:
ai The aspect info.

ACAspectInfo* Puma::ACAdviceInfo::Aspect (  )  [inline]

Get the aspect containing the advice.

CFunctionInfo* Puma::ACAdviceInfo::function (  ) 

Get the function info of the advice. Advice declarations are syntactically realized as function declaration.

bool Puma::ACAdviceInfo::uses_aspectOf (  )  const [inline]

Return true if the advice uses the aspectOf() function.

void Puma::ACAdviceInfo::uses_aspectOf ( bool  u  )  [inline]

Set the state whether the advice uses the aspectOf() function.

Parameters:
u true if the advice uses the aspectOf() function.


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