LLVM API Documentation

Public Member Functions | Friends
llvm::DIVariable Class Reference

#include <DebugInfo.h>

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

List of all members.

Public Member Functions

 DIVariable (const MDNode *N=nullptr)
DIScope getContext () const
StringRef getName () const
DIFile getFile () const
unsigned getLineNumber () const
unsigned getArgNumber () const
DITypeRef getType () const
bool isArtificial () const
 isArtificial - Return true if this variable is marked as "artificial".
bool isObjectPointer () const
bool isIndirect () const
 Return true if this variable is represented as a pointer.
MDNodegetInlinedAt () const
 getInlinedAt - If this variable is inlined then return inline location.
bool Verify () const
 Verify - Verify that a variable descriptor is well formed.
bool hasComplexAddress () const
 HasComplexAddr - Return true if the variable has a complex address.
unsigned getNumAddrElements () const
uint64_t getAddrElement (unsigned Idx) const
bool isBlockByrefVariable (const DITypeIdentifierMap &Map) const
bool isInlinedFnArgument (const Function *CurFn)
void printExtendedName (raw_ostream &OS) const

Friends

class DIDescriptor

Detailed Description

DIVariable - This is a wrapper for a variable (e.g. parameter, local, global etc).

Definition at line 651 of file DebugInfo.h.


Constructor & Destructor Documentation

llvm::DIVariable::DIVariable ( const MDNode N = nullptr) [inline, explicit]

Definition at line 656 of file DebugInfo.h.

References N.


Member Function Documentation

uint64_t llvm::DIVariable::getAddrElement ( unsigned  Idx) const [inline]

Definition at line 662 of file DebugInfo.h.

References llvm::DIDescriptor::getUnsignedField().

DIFile llvm::DIVariable::getFile ( ) const [inline]

Definition at line 660 of file DebugInfo.h.

getInlinedAt - If this variable is inlined then return inline location.

Definition at line 146 of file DebugInfo.cpp.

References getNodeField().

Referenced by llvm::MachineInstr::print().

Definition at line 659 of file DebugInfo.h.

References llvm::DIDescriptor::getStringField().

Referenced by llvm::DbgVariable::getName().

Definition at line 666 of file DebugInfo.h.

Referenced by llvm::DwarfDebug::emitDebugLocEntry(), and isBlockByrefVariable().

HasComplexAddr - Return true if the variable has a complex address.

Definition at line 689 of file DebugInfo.h.

References getNumAddrElements().

Referenced by llvm::DwarfDebug::emitDebugLocEntry(), and llvm::DbgVariable::variableHasComplexAddress().

isArtificial - Return true if this variable is marked as "artificial".

Definition at line 669 of file DebugInfo.h.

References llvm::DIDescriptor::FlagArtificial, and llvm::DIDescriptor::getUnsignedField().

Referenced by llvm::DbgVariable::isArtificial().

isBlockByrefVariable - Return true if the variable was declared as a "__block" variable (Apple Blocks).

Definition at line 699 of file DebugInfo.h.

References getType().

bool llvm::DIVariable::isIndirect ( ) const [inline]

Return true if this variable is represented as a pointer.

Definition at line 678 of file DebugInfo.h.

References llvm::DIDescriptor::FlagIndirectVariable, and llvm::DIDescriptor::getUnsignedField().

Referenced by llvm::DwarfUnit::addVariableAddress(), and llvm::DwarfDebug::emitDebugLocEntry().

isInlinedFnArgument - Return true if this variable provides debugging information for an inlined function arguments.

Definition at line 700 of file DebugInfo.cpp.

References llvm::DISubprogram::describes().

Verify - Verify that a variable descriptor is well formed.

Reimplemented from llvm::DIDescriptor.

Definition at line 560 of file DebugInfo.cpp.

References fieldIsMDNode(), and fieldIsTypeRef().

Referenced by llvm::DIDescriptor::Verify().


Friends And Related Function Documentation

friend class DIDescriptor [friend]

Definition at line 652 of file DebugInfo.h.


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