19
19
#ifndef __CBaseClassInfo_h__
20
20
#define __CBaseClassInfo_h__
22
// base class info (used by CClassInfo)
23
* Semantic information about a base class of a class. */
24
25
#include "Puma/CScopeRequest.h"
25
26
#include "Puma/CProtection.h"
33
* Representation of a base class of a class.
34
* \see Puma::CBaseClassInfo */
36
/** \class CBaseClassInfo CBaseClassInfo.h Puma/infos/CBaseClassInfo.h
37
* A CBaseClassInfo object represents a base class of a class. */
33
/** \class CBaseClassInfo CBaseClassInfo.h Puma/CBaseClassInfo.h
34
* Semantic information about a base class of a class. The base
35
* class is specified by a base class specifier in the base class
36
* list of a class definition. It can have several qualifiers
37
* like \e virtual, \e public, and so on. */
38
38
class CBaseClassInfo : public CScopeRequest {
39
/** the info object of the base class */
39
/** The semantic object of the base class. */
40
40
CClassInfo *_Class;
41
/** the info object of the pseudo instance if the base class is a pseudo i. */
41
/** The semantic object of the pseudo instance
42
* if the base class is a pseudo instance. */
42
43
CClassInfo *_ClassPseudoInstance;
45
/** Construct a new base class info. */
47
/** Destruct the base class info. If the object id is
48
* \c BASECLASS_INFO, Puma::CObjectInfo::CleanUp() is called. */
48
/** Destructor. If the object type is CObjectInfo::BASECLASS_INFO,
49
* then CObjectInfo::CleanUp() is called. */
49
50
~CBaseClassInfo ();
51
/** Get the class info of the base class. */
52
/** Get the semantic information for the base class. */
52
53
CClassInfo *Class () const;
53
/** Get the class info if the base class is a template pseudo instance */
54
/** Get the semantic information for the template pseudo instance
55
* if the base class is a template pseudo instance. */
54
56
CClassInfo *ClassPseudoInstance () const;
55
/** Set the class info of the base class. */
57
/** Set the semantic information for the base class. */
56
58
void Class (CClassInfo *);
58
/** Get the syntax tree node of the base class specifier. */
60
/** Get the syntax tree node representing the base class specifier. */
59
61
CT_BaseSpec *Tree () const;