LLVM API Documentation
#include <DebugInfo.h>
Public Member Functions | |
DIVariable (const MDNode *N=0) | |
DIScope | getContext () const |
StringRef | getName () const |
DIFile | getFile () const |
unsigned | getLineNumber () const |
unsigned | getArgNumber () const |
DIType | getType () const |
bool | isArtificial () const |
isArtificial - Return true if this variable is marked as "artificial". More... | |
bool | isObjectPointer () const |
bool | isIndirect () const |
Return true if this variable is represented as a pointer. More... | |
MDNode * | getInlinedAt () const |
getInlinedAt - If this variable is inlined then return inline location. More... | |
bool | Verify () const |
Verify - Verify that a variable descriptor is well formed. More... | |
bool | hasComplexAddress () const |
HasComplexAddr - Return true if the variable has a complex address. More... | |
unsigned | getNumAddrElements () const |
uint64_t | getAddrElement (unsigned Idx) const |
bool | isBlockByrefVariable () const |
bool | isInlinedFnArgument (const Function *CurFn) |
void | printExtendedName (raw_ostream &OS) 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 } |
![]() | |
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 |
DIVariable - This is a wrapper for a variable (e.g. parameter, local, global etc).
Definition at line 605 of file DebugInfo.h.
|
inlineexplicit |
Definition at line 610 of file DebugInfo.h.
|
inline |
Definition at line 647 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
Referenced by llvm::DbgVariable::getAddrElement().
|
inline |
Definition at line 616 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
|
inline |
Definition at line 612 of file DebugInfo.h.
Referenced by llvm::CompileUnit::addSourceLine(), llvm::DwarfDebug::beginFunction(), emitDebugValueComment(), and llvm::DwarfDebug::endFunction().
|
inline |
Definition at line 614 of file DebugInfo.h.
MDNode * DIVariable::getInlinedAt | ( | ) | const |
getInlinedAt - If this variable is inlined then return inline location.
Definition at line 144 of file DebugInfo.cpp.
References getNodeField().
Referenced by llvm::MachineInstr::print().
|
inline |
Definition at line 615 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::addSourceLine(), and llvm::MachineInstr::print().
|
inline |
Definition at line 613 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by emitDebugValueComment(), and llvm::DbgVariable::getName().
unsigned DIVariable::getNumAddrElements | ( | ) | const |
Definition at line 139 of file DebugInfo.cpp.
Referenced by llvm::DbgVariable::getNumAddrElements(), and hasComplexAddress().
|
inline |
Definition at line 620 of file DebugInfo.h.
Referenced by llvm::DbgVariable::getType(), and isBlockByrefVariable().
|
inline |
HasComplexAddr - Return true if the variable has a complex address.
Definition at line 643 of file DebugInfo.h.
References getNumAddrElements().
Referenced by llvm::DbgVariable::variableHasComplexAddress().
|
inline |
isArtificial - Return true if this variable is marked as "artificial".
Definition at line 623 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DbgVariable::isArtificial().
|
inline |
isBlockByrefVariable - Return true if the variable was declared as a "__block" variable (Apple Blocks).
Definition at line 653 of file DebugInfo.h.
References getType(), and llvm::DIType::isBlockByrefStruct().
Referenced by llvm::DbgVariable::getType(), and llvm::DbgVariable::isBlockByrefVariable().
|
inline |
Return true if this variable is represented as a pointer.
Definition at line 632 of file DebugInfo.h.
References llvm::DIDescriptor::FlagIndirectVariable, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::addVariableAddress().
isInlinedFnArgument - Return true if this variable provides debugging information for an inlined function arguments.
Definition at line 694 of file DebugInfo.cpp.
References llvm::DISubprogram::describes().
|
inline |
Definition at line 627 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjectPointer, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DbgVariable::isObjectPointer().
void DIVariable::printExtendedName | ( | raw_ostream & | OS | ) | const |
Definition at line 1397 of file DebugInfo.cpp.
References llvm::StringRef::empty(), llvm::DebugLoc::getFromDILocation(), llvm::Intrinsic::getName(), llvm::DebugLoc::isUnknown(), and printDebugLoc().
bool DIVariable::Verify | ( | ) | const |
Verify - Verify that a variable descriptor is well formed.
Definition at line 547 of file DebugInfo.cpp.
References fieldIsMDNode().
Referenced by llvm::DIDescriptor::Verify().
|
friend |
Definition at line 606 of file DebugInfo.h.