LLVM API Documentation
#include <DebugInfo.h>
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 |
MDString * | getIdentifier () const |
bool | Verify () const |
Verify - Verify that a composite type descriptor is well formed. More... | |
![]() | |
DIDerivedType (const MDNode *N=0) | |
DITypeRef | getTypeDerivedFrom () const |
MDNode * | getObjCProperty () const |
getObjCProperty - Return property node, if this ivar is associated with one. More... | |
DITypeRef | getClassType () const |
Constant * | getConstant () const |
bool | Verify () const |
Verify - Verify that a derived type descriptor is well formed. More... | |
![]() | |
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) |
![]() | |
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 |
![]() | |
DIDescriptor (const MDNode *N=0) | |
bool | Verify () const |
operator MDNode * () const | |
MDNode * | operator-> () 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 | |
![]() | |
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 } |
![]() | |
void | printInternal (raw_ostream &OS) const |
![]() | |
void | printInternal (raw_ostream &OS) const |
![]() | |
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 |
GlobalVariable * | getGlobalVariableField (unsigned Elt) const |
Constant * | getConstantField (unsigned Elt) const |
Function * | getFunctionField (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... | |
![]() | |
const MDNode * | DbgNode |
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.
|
inlineexplicit |
Definition at line 376 of file DebugInfo.h.
void DICompositeType::addMember | ( | DIDescriptor | D | ) |
Definition at line 661 of file DebugInfo.cpp.
References llvm::MDNode::get(), llvm::DIArray::getElement(), llvm::DIArray::getNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
|
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().
|
inline |
Definition at line 381 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateTypeDIE().
|
inline |
Definition at line 384 of file DebugInfo.h.
|
inline |
Definition at line 378 of file DebugInfo.h.
Referenced by llvm::CompileUnit::addBlockByrefAddress(), llvm::CompileUnit::addPubTypes(), llvm::CompileUnit::getOrCreateSubprogramDIE(), and llvm::DbgVariable::getType().
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().
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().
|
friend |
Definition at line 372 of file DebugInfo.h.