![]() |
PUMA Library Reference Manual
|
#include <Puma/CEnumInfo.h>
Inheritance diagram for Puma::CEnumInfo:Semantic information about an enumeration.
Public Member Functions | |
| CEnumInfo () | |
| Constructor. | |
| ~CEnumInfo () | |
| Destructor. | |
| unsigned | Enumerators () const |
| Get the number of enumerators in this enumeration. | |
| CEnumeratorInfo * | Enumerator (unsigned n) const |
| Get the n-th enumerator. | |
| CEnumeratorInfo * | Enumerator (const char *name) const |
| Get the enumerator with the given name. | |
| CEnumInfo * | DefObject () const |
| Get the semantic object of the enumeration definition. | |
| CTypeEnum * | TypeInfo () const |
| Get the type information for the enumeration. | |
| void | addEnumerator (CEnumeratorInfo *ei) |
| Add a new enumerator to the enumeration. | |
| void | removeEnumerator (const CEnumeratorInfo *ei) |
| Remove the given enumerator from the enumeration. | |
| CEnumeratorInfo * | newEnumerator () |
| Create a semantic object for an enumerator. | |
| void | deleteEnumerator (const CEnumeratorInfo *ei) |
| Destroy the given enumerator. | |
| bool | isDefined () const |
| Check if the enumeration is defined. | |
| bool | isComplete (unsigned long pos=0) const |
| Check if the enumeration is complete (defined) at the given source code position. | |
| CTypeInfo * | UnderlyingType () const |
| Return the underlying data type of the enumeration. | |
| void | UnderlyingType (CTypeInfo *type) |
| Set the underlying data type of the enumeration. | |
Public Member Functions inherited from Puma::CScopeRequest | |
| ~CScopeRequest () | |
| Destructor. | |
| CScopeInfo * | Scope () const |
| Get the enclosing scope. | |
| void | Scope (CScopeInfo *scope) |
| Set the enclosing scope. | |
Public Member Functions inherited from Puma::CObjectInfo | |
| ~CObjectInfo () | |
| Destructor. | |
| bool | operator== (const CObjectInfo &) const |
| Compare the addresses of this object and all objects linked to this object with the address of the given object. | |
| bool | operator!= (const CObjectInfo &) const |
| Compare the addresses of this object and all objects linked to this object with the address of the given object. | |
| CObjectInfo * | ObjectInfo () const |
| Get a pointer to CObjectInfo for any semantic object type. | |
| CLabelInfo * | LabelInfo () const |
| Return a pointer to CLabelInfo if the entity is a label. | |
| CMemberAliasInfo * | MemberAliasInfo () const |
| Return a pointer to CMemberAliasInfo if the entity is a member alias. | |
| CBaseClassInfo * | BaseClassInfo () const |
| Return a pointer to CBaseClassInfo if the entity is a base class specifier. | |
| CUsingInfo * | UsingInfo () const |
| Return a pointer to CUsingInfo if the entity is a using-directive. | |
| CTypedefInfo * | TypedefInfo () const |
| Return a pointer to CTypedefInfo if the entity is a typedef. | |
| CArgumentInfo * | ArgumentInfo () const |
| Return a pointer to CArgumentInfo if the entity is a function parameter. | |
| CAttributeInfo * | AttributeInfo () const |
| Return a pointer to CAttributeInfo if the entity is an object or enumeration constant. | |
| CTemplateParamInfo * | TemplateParamInfo () const |
| Return a pointer to CTemplateParemInfo if the entity is a template parameter. | |
| CStructure * | Structure () const |
| Return a pointer to CStructure if the entity is a namespace, class, function, or any other construct that can contain other entities. | |
| CFileInfo * | FileInfo () const |
| Return a pointer to CFileInfo if this is the file scope. | |
| CRecord * | Record () const |
| Return a pointer to CRecord if the entity is a class or union. | |
| CLocalScope * | LocalScope () const |
| Return a pointer to CLocalScope if the entity is a local scope (block scope). | |
| CScopeInfo * | ScopeInfo () const |
| Return a pointer to CScopeInfo if the entity defines a scope. | |
| CClassInfo * | ClassInfo () const |
| Return a pointer to CClassInfo if the entity is a class. | |
| CUnionInfo * | UnionInfo () const |
| Return a pointer to CUnionInfo if the entity is a union. | |
| CEnumInfo * | EnumInfo () const |
| Return a pointer to CEnumInfo if the entity is an enumeration. | |
| CFunctionInfo * | FunctionInfo () const |
| Return a pointer to CFunctionInfo if the entity is a function, method, or overloaded operator. | |
| CNamespaceInfo * | NamespaceInfo () const |
| Return a pointer to CNamespaceInfo if the entity is a namespace. | |
| CEnumeratorInfo * | EnumeratorInfo () const |
| Return a pointer to CEnumeratorInfo if the entity is an enumeration constant. | |
| CTemplateInfo * | TemplateInfo () const |
| Return a pointer to CTemplateInfo if the entity is a template. | |
| CClassInstance * | ClassInstance () const |
| Return a pointer to CClassInstance if the entity is an instance of a class template. | |
| CFctInstance * | FctInstance () const |
| Return a pointer to CFctInstance if the entity is an instance of a function template. | |
| CUnionInstance * | UnionInstance () const |
| Return a pointer to CUnionInstance if the entity is an instance of a union template. | |
| CTemplateInfo * | Template () const |
| Return a pointer to CTemplateInfo if the entity is a template. | |
| CTemplateInstance * | TemplateInstance () const |
| Return a pointer to CTemplateInstance if the entity is an instance of a class or function template. | |
| CScopeInfo * | Scope () const |
| Get the scope in which the entity was declared. | |
| CStructure * | QualifiedScope () const |
| Get the scope of qualified names. | |
| CRecord * | ClassScope () const |
| Get the class containing the class member described by this object. | |
| CStructure * | AssignedScope () const |
| Get the scope of a friend class or function. | |
| ObjectId | Id () const |
| Get the type of this semantic object. | |
| const DString & | Name () const |
| Get the name of entity described by this semantic object. | |
| const char * | QualName (bool abs=false, bool tdef=false, bool unnamed=false) |
| Get the qualified name of the entity described by this semantic object. | |
| CObjectInfo * | DefObject () const |
| Get the semantic information object for the definition of an entity. | |
| CTypeInfo * | TypeInfo () const |
| Get the data type of the entity. | |
| CSourceInfo * | SourceInfo () const |
| Get the source file information. | |
| CSemDatabase * | ClassDB () const |
| Get the semantic information database object containing this semantic object. | |
| CSemDatabase * | SemDB () const |
| Get the semantic information database object containing this semantic object. | |
| CTree * | Tree () const |
| Get the syntax tree node for the entity described by this semantic object. | |
| CObjectInfo * | NextObject () const |
| Get the next semantic object linked with this object. | |
| CObjectInfo * | PrevObject () const |
| Get the previous semantic object linked with this object. | |
| CObjectInfo * | BaseObject () const |
| Get the semantic object for the base class entity this entity is overloading. | |
| CTree * | Init () const |
| Get the initializer of the entity. | |
| CProtection::Type | Protection () const |
| Get the member protection of the entity, if it is a class member. | |
| CLinkage::Type | Linkage () const |
| Get the linkage of the entity. | |
| CStorage::Type | Storage () const |
| Get the storage class of the entity. | |
| const CLanguage & | Language () const |
| Get the entity encoding language. | |
| CLanguage & | Language () |
| Get the entity encoding language. | |
| const CSpecifiers & | Specifiers () const |
| Get the declaration specifiers. | |
| bool | isType () const |
| Check if the entity is a type. | |
| bool | isObject () const |
| Check if the entity is an object. | |
| bool | isAnonymous () const |
| Check if the entity is anonymous (has no explicit name). | |
| bool | isTemplate () const |
| Check if the entity is a class or function template, or a template template parameter. | |
| bool | isTemplateInstance () const |
| Check if the entity is a class or function template instance. | |
| bool | isBuiltin () const |
| Check if the entity describes a built-in type or function. | |
| bool | isClassMember () const |
| Check if the entity is a method or data member of a class. | |
| bool | isVirtual () const |
| Check if the entity is declared virtual. | |
| bool | isStatic () const |
| Check if the entity is declared static. | |
| bool | isThreadLocal () const |
| Check if the entity is declared __thread. | |
| bool | isExtern () const |
| Check if the entity is declared extern. | |
| bool | isMutable () const |
| Check if the entity is declared mutable. | |
| bool | isRegister () const |
| Check if the entity is declared register. | |
| bool | isExplicit () const |
| Check if the entity is declared explicit. | |
| bool | isInline () const |
| Check if the entity is declared inline. | |
| bool | isAuto () const |
| Check if the entity is declared auto. | |
| bool | isRegistered (const CStructure *s) const |
| Check if the given semantic object is registered as being connected to this semantic object in any way. | |
| bool | isLocal () const |
| Check if the entity is local. | |
| void | Name (const char *s) |
| Set the name of the entity. | |
| void | Name (const DString &ds) |
| Set the name of the entity. | |
| void | TypeInfo (CTypeInfo *type) |
| Set the type of the entity. | |
| void | BaseObject (CObjectInfo *base) |
| Set the base class object for the entity this entity overloads. | |
| void | Protection (CProtection::Type p) |
| Set the member access protection of the entity. | |
| void | Linkage (CLinkage::Type l) |
| Set the linkage of the entity. | |
| void | Storage (CStorage::Type s) |
| Set the storage class of the entity. | |
| void | Specifiers (const CSpecifiers &) |
| Set the declaration specifiers. | |
| void | FileInfo (CFileInfo *finfo) |
| Set the source file information for the entity. | |
| void | Tree (CTree *tree) |
| Set the syntax tree node of the entity. | |
| void | ClassDB (CSemDatabase *db) |
| Set the semantic information database object containing this semantic object. | |
| void | SemDB (CSemDatabase *db) |
| Set the semantic information database object containing this semantic object. | |
| void | NextObject (CObjectInfo *obj) |
| Set the link to next semantic object. | |
| void | PrevObject (CObjectInfo *obj) |
| Set the link to next semantic object. | |
| void | Unlink () |
| Unlink this semantic object. | |
| void | Register (CStructure *s) |
| Register the given semantic object as being connected to this semantic object in any way. | |
| void | Unregister (CStructure *s) |
| Unregister the given semantic object as being connected to this semantic object in any way. | |
| void | isVirtual (bool v) |
| Set whether the entity was declared virtual. | |
| void | isStatic (bool v) |
| Set whether the entity was declared static. | |
| void | isThreadLocal (bool v) |
| Set whether the entity was declared __thread. | |
| void | isExtern (bool v) |
| Set whether the entity was declared extern. | |
| void | isMutable (bool v) |
| Set whether the entity was declared mutable. | |
| void | isRegister (bool v) |
| Set whether the entity was declared register. | |
| void | isExplicit (bool v) |
| Set whether the entity was declared explicit. | |
| void | isInline (bool v) |
| Set whether the entity was declared inline. | |
| void | isAuto (bool v) |
| Set whether the entity was declared auto. | |
| void | AssignedScope (CStructure *s) |
| Set the assigned scope of the entity. | |
Additional Inherited Members | |
Public Types inherited from Puma::CObjectInfo | |
| enum | ObjectId { FILE_INFO , UNION_INFO , CLASS_INFO , BASECLASS_INFO , MEMBERALIAS_INFO , ENUM_INFO , TYPEDEF_INFO , FUNCTION_INFO , LABEL_INFO , ENUMERATOR_INFO , ATTRIBUTE_INFO , TEMPLATE_PARAM_INFO , TEMPLATE_INFO , CLASS_INSTANCE_INFO , UNION_INSTANCE_INFO , FCT_INSTANCE_INFO , ARGUMENT_INFO , LOCAL_INFO , NAMESPACE_INFO , USING_INFO } |
| Semantic information object types. More... | |
Protected Member Functions inherited from Puma::CScopeRequest | |
| CScopeRequest (ObjectId id) | |
| Constructor. | |
Protected Member Functions inherited from Puma::CObjectInfo | |
| CObjectInfo (ObjectId id) | |
| Constructor. | |
Protected Attributes inherited from Puma::CObjectInfo | |
| CStructure * | _QualScope |
| Qualified name scope. | |
| CStructure * | _AssignedScope |
| The scope of a friend class or function. | |
| Array< CStructure * > | _Registered |
| Set of semantic objects connected to this object in any way. | |
| Puma::CEnumInfo::CEnumInfo | ( | ) |
Constructor.
| Puma::CEnumInfo::~CEnumInfo | ( | ) |
Destructor.
If the object type is CObjectInfo::ENUM_INFO, then CObjectInfo::CleanUp() is called.
| void Puma::CEnumInfo::addEnumerator | ( | CEnumeratorInfo * | ei | ) |
Add a new enumerator to the enumeration.
| ei | The enumerator. |
| CEnumInfo * Puma::CEnumInfo::DefObject | ( | ) | const |
Get the semantic object of the enumeration definition.
| void Puma::CEnumInfo::deleteEnumerator | ( | const CEnumeratorInfo * | ei | ) |
Destroy the given enumerator.
The enumerator is removed from the enumeration.
| ei | The enumerator. |
| CEnumeratorInfo * Puma::CEnumInfo::Enumerator | ( | const char * | name | ) | const |
Get the enumerator with the given name.
| name | The name of the enumerator. |
|
inline |
Get the n-th enumerator.
| n | The index of the enumerator. |
|
inline |
Get the number of enumerators in this enumeration.
| bool Puma::CEnumInfo::isComplete | ( | unsigned long | pos = 0 | ) | const |
Check if the enumeration is complete (defined) at the given source code position.
The position is specified by the unique number of the CT_Token tree node representing the name of the enumeration.
| pos | The source code position. |
| bool Puma::CEnumInfo::isDefined | ( | ) | const |
Check if the enumeration is defined.
| CEnumeratorInfo * Puma::CEnumInfo::newEnumerator | ( | ) |
Create a semantic object for an enumerator.
The new enumerator is added to the enumeration.
| void Puma::CEnumInfo::removeEnumerator | ( | const CEnumeratorInfo * | ei | ) |
Remove the given enumerator from the enumeration.
| ei | The enumerator. |
|
inline |
Get the type information for the enumeration.
|
inline |
Return the underlying data type of the enumeration.
This is implementation-defined and defaults to int.
|
inline |
Set the underlying data type of the enumeration.
This is implementation-defined and defaults to int.
| type | The underlying type. |