LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
llvm::DICompositeType Class Reference

#include <DebugInfo.h>

Inheritance diagram for llvm::DICompositeType:
Inheritance graph
[legend]
Collaboration diagram for llvm::DICompositeType:
Collaboration graph
[legend]

Public Member Functions

 DICompositeType (const MDNode *N=0)
 
DIArray getTypeArray () const
 
void setTypeArray (DIArray Elements, DIArray TParams=DIArray())
 Set the array of member DITypes. More...
 
void addMember (DIDescriptor D)
 
unsigned getRunTimeLang () const
 
DITypeRef getContainingType () const
 
void setContainingType (DICompositeType ContainingType)
 Set the containing type. More...
 
DIArray getTemplateParams () const
 
MDStringgetIdentifier () const
 
bool Verify () const
 Verify - Verify that a composite type descriptor is well formed. More...
 
- Public Member Functions inherited from llvm::DIDerivedType
 DIDerivedType (const MDNode *N=0)
 
DITypeRef getTypeDerivedFrom () const
 
MDNodegetObjCProperty () const
 getObjCProperty - Return property node, if this ivar is associated with one. More...
 
DITypeRef getClassType () const
 
ConstantgetConstant () const
 
bool Verify () const
 Verify - Verify that a derived type descriptor is well formed. More...
 
- Public Member Functions inherited from llvm::DIType
 DIType (const MDNode *N=0)
 
bool Verify () const
 Verify - Verify that a type descriptor is well formed. More...
 
DIScopeRef getContext () const
 
StringRef getName () const
 
unsigned getLineNumber () const
 
uint64_t getSizeInBits () const
 
uint64_t getAlignInBits () const
 
uint64_t getOffsetInBits () const
 
unsigned getFlags () const
 
bool isPrivate () const
 
bool isProtected () const
 
bool isForwardDecl () const
 
bool isAppleBlockExtension () const
 
bool isBlockByrefStruct () const
 
bool isVirtual () const
 
bool isArtificial () const
 
bool isObjectPointer () const
 
bool isObjcClassComplete () const
 
bool isVector () const
 
bool isStaticMember () const
 
bool isValid () const
 
void replaceAllUsesWith (DIDescriptor &D)
 
void replaceAllUsesWith (MDNode *D)
 
- Public Member Functions inherited from llvm::DIScope
 DIScope (const MDNode *N=0)
 
DIScopeRef getContext () const
 
StringRef getName () const
 If the scope node has a name, return that, else return an empty string. More...
 
StringRef getFilename () const
 
StringRef getDirectory () const
 
DIScopeRef getRef () const
 
- Public Member Functions inherited from llvm::DIDescriptor
 DIDescriptor (const MDNode *N=0)
 
bool Verify () const
 
 operator MDNode * () const
 
MDNodeoperator-> () const
 
LLVM_EXPLICIT operator bool () const
 
bool operator== (DIDescriptor Other) const
 
bool operator!= (DIDescriptor Other) const
 
uint16_t getTag () const
 
bool isDerivedType () const
 isDerivedType - Return true if the specified tag is legal for DIDerivedType. More...
 
bool isCompositeType () const
 
bool isBasicType () const
 
bool isVariable () const
 isVariable - Return true if the specified tag is legal for DIVariable. More...
 
bool isSubprogram () const
 
bool isGlobalVariable () const
 
bool isScope () const
 
bool isFile () const
 isFile - Return true if the specified tag is DW_TAG_file_type. More...
 
bool isCompileUnit () const
 isCompileUnit - Return true if the specified tag is DW_TAG_compile_unit. More...
 
bool isNameSpace () const
 isNameSpace - Return true if the specified tag is DW_TAG_namespace. More...
 
bool isLexicalBlockFile () const
 
bool isLexicalBlock () const
 isLexicalBlock - Return true if the specified tag is DW_TAG_lexical_block. More...
 
bool isSubrange () const
 isSubrange - Return true if the specified tag is DW_TAG_subrange_type. More...
 
bool isEnumerator () const
 isEnumerator - Return true if the specified tag is DW_TAG_enumerator. More...
 
bool isType () const
 isType - Return true if the specified tag is legal for DIType. More...
 
bool isUnspecifiedParameter () const
 
bool isTemplateTypeParameter () const
 
bool isTemplateValueParameter () const
 
bool isObjCProperty () const
 isObjCProperty - Return true if the specified tag is DW_TAG_APPLE_property. More...
 
bool isImportedEntity () const
 Return true if the specified tag is DW_TAG_imported_module or DW_TAG_imported_declaration. More...
 
void print (raw_ostream &OS) const
 print - print descriptor. More...
 
void dump () const
 dump - print descriptor to dbgs() with a newline. More...
 

Friends

class DIDescriptor
 

Additional Inherited Members

- Public Types inherited from llvm::DIDescriptor
enum  {
  FlagPrivate = 1 << 0, FlagProtected = 1 << 1, FlagFwdDecl = 1 << 2, FlagAppleBlock = 1 << 3,
  FlagBlockByrefStruct = 1 << 4, FlagVirtual = 1 << 5, FlagArtificial = 1 << 6, FlagExplicit = 1 << 7,
  FlagPrototyped = 1 << 8, FlagObjcClassComplete = 1 << 9, FlagObjectPointer = 1 << 10, FlagVector = 1 << 11,
  FlagStaticMember = 1 << 12, FlagIndirectVariable = 1 << 13
}
 
- Protected Member Functions inherited from llvm::DIType
void printInternal (raw_ostream &OS) const
 
- Protected Member Functions inherited from llvm::DIScope
void printInternal (raw_ostream &OS) const
 
- Protected Member Functions inherited from llvm::DIDescriptor
StringRef getStringField (unsigned Elt) const
 
unsigned getUnsignedField (unsigned Elt) const
 
uint64_t getUInt64Field (unsigned Elt) const
 
int64_t getInt64Field (unsigned Elt) const
 
DIDescriptor getDescriptorField (unsigned Elt) const
 
template<typename DescTy >
DescTy getFieldAs (unsigned Elt) const
 
GlobalVariablegetGlobalVariableField (unsigned Elt) const
 
ConstantgetConstantField (unsigned Elt) const
 
FunctiongetFunctionField (unsigned Elt) const
 
void replaceFunctionField (unsigned Elt, Function *F)
 
template<>
DIScopeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DIScopes. More...
 
template<>
DITypeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DITypes. More...
 
template<>
DIScopeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DIScopes. More...
 
template<>
DITypeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DITypes. More...
 
- Protected Attributes inherited from llvm::DIDescriptor
const MDNodeDbgNode
 

Detailed Description

DICompositeType - This descriptor holds a type that can refer to multiple other types, like a function or struct. DICompositeType is derived from DIDerivedType because some composite types (such as enums) can be derived from basic types

Definition at line 371 of file DebugInfo.h.

Constructor & Destructor Documentation

llvm::DICompositeType::DICompositeType ( const MDNode N = 0)
inlineexplicit

Definition at line 376 of file DebugInfo.h.

Member Function Documentation

void DICompositeType::addMember ( DIDescriptor  D)
DITypeRef llvm::DICompositeType::getContainingType ( ) const
inline

Definition at line 382 of file DebugInfo.h.

MDString * DICompositeType::getIdentifier ( ) const

Definition at line 623 of file DebugInfo.cpp.

References getField().

Referenced by llvm::DIScope::getRef().

unsigned llvm::DICompositeType::getRunTimeLang ( ) const
inline
DIArray llvm::DICompositeType::getTemplateParams ( ) const
inline

Definition at line 384 of file DebugInfo.h.

DIArray llvm::DICompositeType::getTypeArray ( ) const
inline
void DICompositeType::setContainingType ( DICompositeType  ContainingType)

Set the containing type.

Definition at line 686 of file DebugInfo.cpp.

References llvm::DIScope::getRef(), N, and llvm::MDNode::replaceOperandWith().

void DICompositeType::setTypeArray ( DIArray  Elements,
DIArray  TParams = DIArray() 
)

Set the array of member DITypes.

Definition at line 643 of file DebugInfo.cpp.

References llvm::MDNode::getOperand(), N, llvm::MDNode::replaceOperandWith(), and VerifySubsetOf().

bool DICompositeType::Verify ( ) const

Verify - Verify that a composite type descriptor is well formed.

Definition at line 494 of file DebugInfo.cpp.

References fieldIsMDString(), and fieldIsTypeRef().

Referenced by llvm::DIDescriptor::Verify(), and llvm::DIType::Verify().

Friends And Related Function Documentation

friend class DIDescriptor
friend

Definition at line 372 of file DebugInfo.h.


The documentation for this class was generated from the following files: