LLVM API Documentation
#include <DebugInfo.h>
Public Member Functions | |
DIType (const MDNode *N=nullptr) | |
operator DITypeRef () const | |
bool | Verify () const |
Verify - Verify that a type descriptor is well formed. | |
DIScopeRef | getContext () const |
StringRef | getName () const |
If the scope node has a name, return that, else return an empty string. | |
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 | isPublic () 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 | isLValueReference () const |
bool | isRValueReference () const |
bool | isValid () const |
Protected Member Functions | |
void | printInternal (raw_ostream &OS) const |
Friends | |
class | DIDescriptor |
DIType - This is a wrapper for a type. FIXME: Types should be factored much better so that CV qualifiers and others do not require a huge and empty descriptor full of zeros.
Definition at line 303 of file DebugInfo.h.
llvm::DIType::DIType | ( | const MDNode * | N = nullptr | ) | [inline, explicit] |
Definition at line 309 of file DebugInfo.h.
References N.
uint64_t llvm::DIType::getAlignInBits | ( | ) | const [inline] |
Definition at line 323 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
DIScopeRef llvm::DIType::getContext | ( | ) | const [inline] |
Gets the parent scope for this scope node or returns a default constructed scope.
Reimplemented from llvm::DIScope.
Definition at line 319 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::createTypeDIE(), llvm::DIScope::getContext(), llvm::DwarfUnit::getOrCreateStaticMemberDIE(), and llvm::DwarfUnit::getOrCreateTypeDIE().
unsigned llvm::DIType::getFlags | ( | ) | const [inline] |
Definition at line 327 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DIBuilder::createArtificialType(), llvm::DIBuilder::createObjectPointerType(), isAppleBlockExtension(), isArtificial(), isBlockByrefStruct(), isForwardDecl(), isLValueReference(), isObjcClassComplete(), isObjectPointer(), isPrivate(), isProtected(), isPublic(), isRValueReference(), isStaticMember(), isVector(), and isVirtual().
unsigned llvm::DIType::getLineNumber | ( | ) | const [inline] |
Definition at line 321 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::addSourceLine().
StringRef llvm::DIType::getName | ( | ) | const [inline] |
If the scope node has a name, return that, else return an empty string.
Reimplemented from llvm::DIScope.
Definition at line 320 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by llvm::DwarfUnit::constructTypeDIE(), llvm::DIScope::getName(), and llvm::DwarfUnit::getOrCreateStaticMemberDIE().
uint64_t llvm::DIType::getOffsetInBits | ( | ) | const [inline] |
Definition at line 326 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
Referenced by llvm::DwarfUnit::addBlockByrefAddress().
uint64_t llvm::DIType::getSizeInBits | ( | ) | const [inline] |
Definition at line 322 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
Referenced by llvm::DwarfUnit::constructTypeDIE(), getBaseTypeSize(), and llvm::DIVariable::getSizeInBits().
bool llvm::DIType::isAppleBlockExtension | ( | ) | const [inline] |
Definition at line 339 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAppleBlock, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE().
bool llvm::DIType::isArtificial | ( | ) | const [inline] |
Definition at line 346 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and getFlags().
Referenced by llvm::DIBuilder::createArtificialType(), and llvm::DbgVariable::isArtificial().
bool llvm::DIType::isBlockByrefStruct | ( | ) | const [inline] |
Definition at line 342 of file DebugInfo.h.
References llvm::DIDescriptor::FlagBlockByrefStruct, and getFlags().
bool llvm::DIType::isForwardDecl | ( | ) | const [inline] |
Definition at line 337 of file DebugInfo.h.
References llvm::DIDescriptor::FlagFwdDecl, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE(), getBaseTypeSize(), and llvm::DwarfUnit::getOrCreateTypeDIE().
bool llvm::DIType::isLValueReference | ( | ) | const [inline] |
Definition at line 353 of file DebugInfo.h.
References llvm::DIDescriptor::FlagLValueReference, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE().
bool llvm::DIType::isObjcClassComplete | ( | ) | const [inline] |
Definition at line 348 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjcClassComplete, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE().
bool llvm::DIType::isObjectPointer | ( | ) | const [inline] |
Definition at line 347 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjectPointer, and getFlags().
Referenced by llvm::DIBuilder::createObjectPointerType(), and llvm::DbgVariable::isObjectPointer().
bool llvm::DIType::isPrivate | ( | ) | const [inline] |
Definition at line 328 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagPrivate, and getFlags().
Referenced by llvm::DwarfUnit::getOrCreateStaticMemberDIE().
bool llvm::DIType::isProtected | ( | ) | const [inline] |
Definition at line 331 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagProtected, and getFlags().
Referenced by llvm::DwarfUnit::getOrCreateStaticMemberDIE().
bool llvm::DIType::isPublic | ( | ) | const [inline] |
Definition at line 334 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagPublic, and getFlags().
Referenced by llvm::DwarfUnit::getOrCreateStaticMemberDIE().
bool llvm::DIType::isRValueReference | ( | ) | const [inline] |
Definition at line 356 of file DebugInfo.h.
References llvm::DIDescriptor::FlagRValueReference, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE().
bool llvm::DIType::isStaticMember | ( | ) | const [inline] |
Definition at line 352 of file DebugInfo.h.
References llvm::DIDescriptor::FlagStaticMember, and getFlags().
Referenced by llvm::DwarfUnit::constructTypeDIE(), llvm::DwarfCompileUnit::createGlobalVariableDIE(), and llvm::DIDerivedType::getConstant().
bool llvm::DIType::isValid | ( | ) | const [inline] |
Definition at line 359 of file DebugInfo.h.
References llvm::DIDescriptor::DbgNode, and llvm::DIDescriptor::isType().
Referenced by getBaseTypeSize().
bool llvm::DIType::isVector | ( | ) | const [inline] |
Definition at line 351 of file DebugInfo.h.
References llvm::DIDescriptor::FlagVector, and getFlags().
bool llvm::DIType::isVirtual | ( | ) | const [inline] |
Definition at line 345 of file DebugInfo.h.
References llvm::DIDescriptor::FlagVirtual, and getFlags().
llvm::DIType::operator DITypeRef | ( | ) | const [inline] |
Definition at line 310 of file DebugInfo.h.
References llvm::DIScope::getRef(), and llvm::DIDescriptor::isType().
void DIType::printInternal | ( | raw_ostream & | OS | ) | const [protected] |
Reimplemented from llvm::DIScope.
Definition at line 1326 of file DebugInfo.cpp.
References llvm::dwarf::AttributeEncodingString(), llvm::dwarf::DW_TAG_class_type, llvm::dwarf::DW_TAG_enumeration_type, llvm::dwarf::DW_TAG_structure_type, llvm::dwarf::DW_TAG_union_type, llvm::StringRef::empty(), and llvm::Intrinsic::getName().
Referenced by llvm::DIDescriptor::print().
bool DIType::Verify | ( | ) | const |
Verify - Verify that a type descriptor is well formed.
Reimplemented from llvm::DIDescriptor.
Reimplemented in llvm::DICompositeType, llvm::DIDerivedType, and llvm::DIBasicType.
Definition at line 472 of file DebugInfo.cpp.
References llvm::dwarf::DW_TAG_array_type, llvm::dwarf::DW_TAG_const_type, llvm::dwarf::DW_TAG_enumeration_type, llvm::dwarf::DW_TAG_friend, llvm::dwarf::DW_TAG_inheritance, llvm::dwarf::DW_TAG_pointer_type, llvm::dwarf::DW_TAG_ptr_to_member_type, llvm::dwarf::DW_TAG_reference_type, llvm::dwarf::DW_TAG_restrict_type, llvm::dwarf::DW_TAG_rvalue_reference_type, llvm::dwarf::DW_TAG_subroutine_type, llvm::dwarf::DW_TAG_volatile_type, fieldIsScopeRef(), llvm::dwarf::isType(), llvm::DIBasicType::Verify(), llvm::DIDerivedType::Verify(), and llvm::DICompositeType::Verify().
friend class DIDescriptor [friend] |
Reimplemented from llvm::DIScope.
Reimplemented in llvm::DICompositeType, and llvm::DIDerivedType.
Definition at line 305 of file DebugInfo.h.