Puma Reference Manual | Puma::ACSliceInfo Class Reference |
Semantic information about an AspectC++ 'slice' declaration. More...
#include <Puma/ACSliceInfo.h>
Public Types | |
enum | Type { SL_UNKNOWN, SL_ASPECT, SL_CLASS, SL_STRUCT, SL_UNION } |
Various types of slices. More... |
Public Member Functions | |
ACSliceInfo (CObjectInfo *oi) | |
Construct a slice info object. | |
~ACSliceInfo () | |
Desctructor: delete all pattern units. | |
const char * | name () |
Get the name of the slice. | |
CObjectInfo * | object () |
Get the object info of the slice declaration. | |
void | def_node (CT_ClassSliceDecl *node) |
Set the slice definition syntax tree node. | |
CT_ClassSliceDecl * | def_node () |
Get the syntax tree node of the slice definition. | |
void | add_member (CT_Intro *i) |
Add a non-inline slice member. | |
int | members () const |
Get the number of non-inline slice members. | |
CT_Intro * | member (int i) const |
Get the ith non-inline slice member. | |
const Unit * | member_pattern (int i) const |
Get the ith non-inline slice member code pattern. | |
const Unit * | member_unit (int i) const |
Get the ith non-inline slice member unit. | |
void | in_advice (bool a) |
Set a flag to determine if this definition is part of an advice decl. | |
bool | in_advice () const |
true, iff this slice decl is located within 'advice . | |
Type | type () const |
Get the slice type (e.g. | |
ACSliceInfo * | definition () const |
Get the definition of this slice or return 0 if there is no definition. | |
const Unit * | base_pattern () const |
Get the base class pattern of this slice as a unit. | |
const Unit * | pattern () const |
Get the inline member pattern of this slice as a unit. |
Semantic information about an AspectC++ 'slice' declaration.
A slice represents a fragment of a C/C++ language element. For example a 'class slice' is a (possibly incomplete) fragment of a class.
|
inline |
Construct a slice info object.
oi | The object info of the slice declaration, e.g. class info. |
Puma::ACSliceInfo::~ACSliceInfo | ( | ) |
Desctructor: delete all pattern units.
void Puma::ACSliceInfo::add_member | ( | CT_Intro * | i | ) |
Add a non-inline slice member.
i | The new member. |
|
inline |
Get the base class pattern of this slice as a unit.
void Puma::ACSliceInfo::def_node | ( | CT_ClassSliceDecl * | node | ) |
Set the slice definition syntax tree node.
node | The slice syntax tree node. |
|
inline |
Get the syntax tree node of the slice definition.
ACSliceInfo* Puma::ACSliceInfo::definition | ( | ) | const |
Get the definition of this slice or return 0 if there is no definition.
|
inline |
Set a flag to determine if this definition is part of an advice decl.
a | true, iff this definition is location within 'advice .. : ..'. |
|
inline |
true, iff this slice decl is located within 'advice .
. : ..'.
|
inline |
Get the ith non-inline slice member.
|
inline |
Get the ith non-inline slice member code pattern.
|
inline |
Get the ith non-inline slice member unit.
|
inline |
Get the number of non-inline slice members.
|
inline |
Get the name of the slice.
|
inline |
Get the object info of the slice declaration.
|
inline |
Get the inline member pattern of this slice as a unit.
Type Puma::ACSliceInfo::type | ( | ) | const |
Get the slice type (e.g.
class or union)