Puma Reference Manual Puma: Puma::ACAdviceInfo Class Reference



Puma::ACAdviceInfo Class Reference

#include <Puma/ACAdviceInfo.h>

List of all members.


Detailed Description

Semantic information about an AspectC++ 'advice' declaration.

An advice is part of an aspect declaration.

Public Types

enum  advice_type {
  BEFORE,
  AROUND,
  AFTER
}
 The three advice types: before, around, and after advice. More...

Public Member Functions

 ACAdviceInfo (int n)
 Construct an advice info object.
const char * name ()
 Get the internal name of the advice.
bool is_inherited ()
 Return true if the advice is inherited from another aspect.
void is_inherited (bool i)
 Set the inherited state of the advice info.
void parent (ACAdviceInfo *p)
 Set the parent advice.
ACAdviceInfo * parent ()
 Get the parent advice info.
ACAdviceInfo * root ()
 If an advice is inherited, this method returns the info of the advice of the aspect first defining the advice.
advice_type type ()
 Get the type of the advice.
void def_node (CT_AdviceDecl *ad)
 Set the syntax tree node of the definition of the advice.
CT_AdviceDecl * def_node ()
 Get the advice definition syntax tree node.
void decl_node (CT_AdviceDecl *ad)
 Set the syntax tree node of the declaration of the advice.
CT_AdviceDecl * decl_node ()
 Get the advice declaration syntax tree node.
void Aspect (ACAspectInfo *ai)
 Set the aspect containing the advice.
ACAspectInfo * Aspect ()
 Get the aspect containing the advice.
CFunctionInfo * function ()
 Get the function info of the advice.
bool uses_aspectOf () const
 Return true if the advice uses the aspectOf() function.
void uses_aspectOf (bool u)
 Set the state whether the advice uses the aspectOf() function.


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.




Puma Reference Manual. Created on 11 Jul 2008.