| 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. More... | |
| ~ACSliceInfo () | |
| Desctructor: delete all pattern units. More... | |
| const char * | name () |
| Get the name of the slice. More... | |
| CObjectInfo * | object () |
| Get the object info of the slice declaration. More... | |
| void | def_node (CT_ClassSliceDecl *node) |
| Set the slice definition syntax tree node. More... | |
| CT_ClassSliceDecl * | def_node () |
| Get the syntax tree node of the slice definition. More... | |
| void | add_member (CT_Intro *i) |
| Add a non-inline slice member. More... | |
| int | members () const |
| Get the number of non-inline slice members. More... | |
| CT_Intro * | member (int i) const |
| Get the ith non-inline slice member. More... | |
| const Unit * | member_pattern (int i) const |
| Get the ith non-inline slice member code pattern. More... | |
| const Unit * | member_unit (int i) const |
| Get the ith non-inline slice member unit. More... | |
| void | in_advice (bool a) |
| Set a flag to determine if this definition is part of an advice decl. More... | |
| bool | in_advice () const |
| true, iff this slice decl is located within 'advice . More... | |
| Type | type () const |
| Get the slice type (e.g. More... | |
| ACSliceInfo * | definition () const |
| Get the definition of this slice or return 0 if there is no definition. More... | |
| const Unit * | base_pattern () const |
| Get the base class pattern of this slice as a unit. More... | |
| const Unit * | pattern () const |
| Get the inline member pattern of this slice as a unit. More... | |
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)