![]() |
PUMA Library Reference Manual
|
#include <Puma/CFileInfo.h>
Inheritance diagram for Puma::CFileInfo:Semantic information about a source file (translation unit).
A source file has its own scope, the so-called file scope.
Public Member Functions | |
| CFileInfo () | |
| Constructor. | |
| ~CFileInfo () | |
| Destructor. | |
| Unit * | Primary () const |
| Get the token chain of the source file. | |
| void | Primary (Unit *unit) |
| Set the token chain of the source file. | |
| bool | haveCBuiltins () const |
| Check if C compiler build-in functions are defined for the source file. | |
| bool | haveCCBuiltins () const |
| Check if C++ compiler build-in functions are defined for the source file. | |
| void | haveCBuiltins (bool v) |
| Set whether C compiler build-in functions are defined for the source file. | |
| void | haveCCBuiltins (bool v) |
| Set whether C++ compiler build-in functions are defined for the source file. | |
Public Member Functions inherited from Puma::CNamespaceInfo | |
| 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. | |
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 Member Functions inherited from Puma::CNamespaceInfo | |
| 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. | |
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. | |
|
inline |
Constructor.
|
inline |
Destructor.
If the object type is CObjectInfo::FILE_INFO, then CObjectInfo::CleanUp() is called.
|
inline |
Check if C compiler build-in functions are defined for the source file.
|
inline |
Set whether C compiler build-in functions are defined for the source file.
| v | true if C build-in functions are defined. |
|
inline |
Check if C++ compiler build-in functions are defined for the source file.
|
inline |
Set whether C++ compiler build-in functions are defined for the source file.
| v | true if C++ build-in functions are defined. |
|
inline |
Get the token chain of the source file.
|
inline |
Set the token chain of the source file.
| unit | The token chain. |