PUMA Library Reference Manual
|
#include <Puma/CNamespaceInfo.h>
Semantic information about a user-defined namespace.
There are two kinds of namespaces, original namespaces and namespace aliases.
Public Member Functions | |
CNamespaceInfo () | |
Constructor. | |
~CNamespaceInfo () | |
Destructor. | |
bool | isAlias () const |
Check if this is a namespace alias. | |
void | isAlias (bool v) |
Set whether this is a namespace alias. | |
bool | aroundInstantiation () const |
Check if this is a special internal namespace around template instantiations. | |
void | aroundInstantiation (bool v) |
Set whether this is a special internal namespace around template instantiations. | |
Public Member Functions inherited from Puma::CStructure | |
~CStructure () | |
Destructor. | |
ObjectsByName & | ObjectInfoMap () |
Get the entity name to semantic object map. | |
const ObjectInfoSet & | ObjectInfos () const |
Get the entity name to semantic object map. | |
unsigned | Objects () const |
Get the number of contained semantic objects. | |
unsigned | Objects (const DString &name) const |
Get the number of contained semantic objects for entities with the given name. | |
unsigned | Types () const |
Get the number of contained semantic objects for type declarations. | |
unsigned | Types (const DString &name) const |
Get the number of contained semantic objects for declarations of types with the given name. | |
unsigned | Attributes () const |
Get the number of contained semantic objects for object declarations. | |
unsigned | Attributes (const DString &name) const |
Get the number of contained semantic objects for declarations of objects with the given name. | |
unsigned | TemplateParams () const |
Get the number of contained semantic objects for template parameter declarations. | |
unsigned | TemplateParams (const DString &name) const |
Get the number of contained semantic objects for declarations of template parameters with the given name. | |
unsigned | Functions () const |
Get the number of contained semantic objects for function declarations. | |
unsigned | Functions (const DString &name) const |
Get the number of contained semantic objects for declarations of functions with the given name. | |
unsigned | Usings () const |
Get the number of contained semantic objects for used members. | |
unsigned | Usings (const DString &name) const |
Get the number of contained semantic objects for used members with the given name. | |
unsigned | Namespaces () const |
Get the number of contained semantic objects for namespace declarations. | |
unsigned | Namespaces (const DString &name) const |
Get the number of contained semantic objects for declarations of namespaces with the given name. | |
unsigned | Friends () const |
Get the number of contained semantic objects for friend declarations. | |
unsigned | Friends (const DString &name) const |
Get the number of contained semantic objects for declarations of friends with the given name. | |
CObjectInfo * | Object (unsigned n) const |
Get the n-th contained semantic object. | |
CObjectInfo * | Object (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for entities with the given name. | |
CObjectInfo * | Type (unsigned n) const |
Get the n-th contained semantic object for a type. | |
CObjectInfo * | Type (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for types with the given name. | |
CTypedefInfo * | Typedef (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for typedefs with the given name. | |
CUsingInfo * | Using (unsigned n) const |
Get the n-th contained semantic object for a using-directive. | |
CUsingInfo * | Using (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for used members with the given name. | |
CNamespaceInfo * | Namespace (unsigned n) const |
Get the n-th contained semantic object for a namespace. | |
CNamespaceInfo * | Namespace (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for namespaces with the given name. | |
CRecord * | Friend (unsigned n) const |
Get the n-th contained semantic object for a friend. | |
CRecord * | Friend (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for friends with the given name. | |
CAttributeInfo * | Attribute (unsigned n) const |
Get the n-th contained semantic object for an object. | |
CAttributeInfo * | Attribute (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for objects with the given name. | |
CTemplateParamInfo * | TemplateParam (unsigned n) const |
Get the n-th contained semantic object for a template parameter. | |
CTemplateParamInfo * | TemplateParam (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for template parameters with the given name. | |
CFunctionInfo * | Function (unsigned n) const |
Get the n-th contained semantic object for a function. | |
CFunctionInfo * | Function (const DString &name, unsigned n=0) const |
Get the n-th contained semantic object for functions with the given name. | |
CFunctionInfo * | Function (const DString &name, CTypeInfo *type) const |
Get the contained semantic object for functions with the given name and type. | |
bool | isMemberAlias (const CObjectInfo *info) const |
Check if an alias exists for the given entity in this scope. | |
CMemberAliasInfo * | MemberAlias (const CObjectInfo *info) const |
Get the member alias information for the aliased entity. | |
void | setShared (CStructure *share) |
Set a common data object for the linked semantic objects. | |
void | addObject (CObjectInfo *info) |
Add a semantic object. | |
void | addAttribute (CAttributeInfo *info) |
Add a semantic object for an object. | |
void | addTemplateParam (CTemplateParamInfo *info) |
Add a semantic object for a template parameter. | |
void | addFunction (CFunctionInfo *info) |
Add a semantic object for a function. | |
void | addType (CObjectInfo *info) |
Add a semantic object for a type. | |
void | addUsing (CUsingInfo *info) |
Add a semantic object for a using-directive. | |
void | addNamespace (CNamespaceInfo *info) |
Add a semantic object for a namespace. | |
void | addFriend (CRecord *info) |
Add a semantic object for a friend. | |
void | removeObject (const CObjectInfo *info) |
Remove the semantic object. | |
void | removeAttribute (const CAttributeInfo *info) |
Remove the semantic object for an object. | |
void | removeTemplateParam (const CTemplateParamInfo *info) |
Remove the semantic object for a template parameter. | |
void | removeFunction (const CFunctionInfo *info) |
Remove the semantic object for a function. | |
void | removeType (const CObjectInfo *info) |
Remove the semantic object for a type. | |
void | removeUsing (const CUsingInfo *info) |
Remove the semantic object for a using-directive. | |
void | removeNamespace (const CNamespaceInfo *info) |
Remove the semantic object for a namespace. | |
void | removeFriend (const CRecord *info) |
Remove the semantic object for a friend. | |
void | removeMemberAlias (const CMemberAliasInfo *info) |
Remove the semantic object for a member alias. | |
void | removeRegisterEntry () |
Unregister this semantic object at all contained semantic objects. | |
void | addNamedObject (CObjectInfo *info) |
Add a semantic object to the name map. | |
void | removeNamedObject (const DString &name, CObjectInfo *info) |
Remove the given semantic object for the entity with the given name from the name map. | |
CAttributeInfo * | newAttribute () |
Create a new semantic object for an object declaration. | |
CEnumInfo * | newEnum () |
Create a new semantic object for an enumeration. | |
CUsingInfo * | newUsing () |
Create a new semantic object for a using-directive. | |
CTypedefInfo * | newTypedef () |
Create a new semantic object for a typedef. | |
CMemberAliasInfo * | newMemberAlias (CObjectInfo *member, bool direct_member=false) |
Create a new semantic object for a member alias. | |
void | deleteAttribute (const CAttributeInfo *info) |
Remove and destroy the given semantic object for an object. | |
void | deleteEnum (const CEnumInfo *info) |
Remove and destroy the given semantic object for an enumeration. | |
void | deleteUsing (const CUsingInfo *info) |
Remove and destroy the given semantic object for a using-directive. | |
void | deleteTypedef (const CTypedefInfo *info) |
Remove and destroy the given semantic object for a typedef. | |
void | deleteMemberAlias (const CMemberAliasInfo *info) |
Remove and destroy the given semantic object for a member alias. | |
Public Member Functions inherited from Puma::CScopeInfo | |
~CScopeInfo () | |
Destructor. | |
unsigned | Children () const |
Get the number of child scopes (nested scopes). | |
CScopeInfo * | Child (unsigned) const |
Get the n-th child scope. | |
CScopeInfo * | Parent () const |
Get the parent scope of this scope. | |
bool | isFile () const |
Check if this is a file (file scope). | |
bool | isNamespace () const |
Check if this is namespace. | |
bool | isRecord () const |
Check if this is class or union. | |
bool | isClass () const |
Check if this is a class. | |
bool | isUnion () const |
Check if this is a union. | |
bool | isFunction () const |
Check if this is a function. | |
bool | isMethod () const |
Check if this is a class method. | |
bool | isClassTemplate () const |
Check if this is a class template. | |
bool | isFctTemplate () const |
Check if this is a function template. | |
bool | isLocalScope () const |
Check if this is a local scope. | |
bool | isLocalRecord () const |
Check if this is a local class or union. | |
bool | isLocalClass () const |
Check if this is a local class. | |
bool | isLocalUnion () const |
Check if this is a local union. | |
bool | GlobalScope () const |
Check if this is the global (file) scope. | |
bool | insideTemplate () const |
Check if this scope is inside a class or function template scope. | |
bool | insideRecord () const |
Check if this scope is inside a class or union scope. | |
bool | insideClass () const |
Check if this scope is inside a class scope. | |
bool | insideUnion () const |
Check if this scope is inside a union scope. | |
bool | insideFunction () const |
Check if this scope is inside a function scope. | |
bool | insideMethod () const |
Check if this scope is inside a class method scope. | |
void | Parent (const CScopeInfo *scope) |
Set the parent scope of this scope. | |
void | addChild (CScopeInfo *scope) |
Add a child scope to this scope. | |
void | removeChild (const CScopeInfo *scope) |
Remove a child scope. | |
CLocalScope * | newLocalScope () |
Create a new local scope information object. | |
CFunctionInfo * | newFunction (bool inst=false) |
Create a new function or function template instance semantic object. | |
CClassInfo * | newClass (bool inst=false) |
Create a new class or class template instance semantic object. | |
CUnionInfo * | newUnion (bool inst=false) |
Create a new union or union template instance semantic object. | |
CNamespaceInfo * | newNamespace () |
Create a new namespace semantic object. | |
CTemplateInfo * | newTemplate () |
Create a new template semantic object. | |
void | deleteLocalScope (const CLocalScope *scope) |
Delete the given local scope semantic object. | |
void | deleteFunction (const CFunctionInfo *fct) |
Delete the given function semantic object. | |
void | deleteClass (const CClassInfo *c) |
Delete the given class semantic object. | |
void | deleteUnion (const CUnionInfo *u) |
Delete the given union semantic object. | |
void | deleteNamespace (const CNamespaceInfo *ns) |
Delete the given namespace semantic object. | |
void | deleteTemplate (const CTemplateInfo *tpl) |
Delete the given template semantic object. | |
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. | |
Protected Member Functions | |
CNamespaceInfo (ObjectId id) | |
Constructor. | |
Protected Member Functions inherited from Puma::CStructure | |
CStructure (ObjectId id) | |
Constructor. | |
Protected Member Functions inherited from Puma::CScopeInfo | |
CScopeInfo (ObjectId id) | |
Constructor. | |
Protected Member Functions inherited from Puma::CObjectInfo | |
CObjectInfo (ObjectId id) | |
Constructor. | |
Additional Inherited Members | |
Public Types inherited from Puma::CStructure | |
typedef std::list< CObjectInfo * > | ObjectInfoList |
List type for semantic objects. | |
typedef std::map< DString, ObjectInfoList > | ObjectsByName |
Map type for entity name to semantic object mapping. | |
typedef std::set< CObjectInfo * > | ObjectInfoSet |
Set type for semantic objects. | |
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 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. | |
|
inlineprotected |
Constructor.
id | The object type. |
|
inline |
Constructor.
Puma::CNamespaceInfo::~CNamespaceInfo | ( | ) |
Destructor.
If the object type is CObjectInfo::NAMESPACE_INFO, then CObjectInfo::CleanUp() is called.
|
inline |
Check if this is a special internal namespace around template instantiations.
|
inline |
Set whether this is a special internal namespace around template instantiations.
v | true if it is such an internal namespace. |
|
inline |
Check if this is a namespace alias.
|
inline |
Set whether this is a namespace alias.
v | true if it is a namespace alias. |