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
 Return the size of this variable's complex address or zero if there is none.
uint64_t getAddrElement (unsigned Idx) const
 return the Idx'th complex address element.
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 667 of file DebugInfo.h.


Constructor & Destructor Documentation

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

Definition at line 672 of file DebugInfo.h.

References N.


Member Function Documentation

uint64_t DIVariable::getAddrElement ( unsigned  Idx) const

return the Idx'th complex address element.

Definition at line 140 of file DebugInfo.cpp.

References llvm::MDNode::getOperand().

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

Definition at line 678 of file DebugInfo.h.

References llvm::DIDescriptor::getUnsignedField().

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

Definition at line 676 of file DebugInfo.h.

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

Definition at line 151 of file DebugInfo.cpp.

References getNodeField().

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

Definition at line 675 of file DebugInfo.h.

References llvm::DIDescriptor::getStringField().

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

Return the size of this variable's complex address or zero if there is none.

Definition at line 709 of file DebugInfo.h.

References llvm::DIDescriptor::DbgNode, llvm::DIDescriptor::getDescriptorField(), and llvm::MDNode::getNumOperands().

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

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

Definition at line 705 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 685 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 720 of file DebugInfo.h.

References getType().

Referenced by llvm::DbgVariable::getType(), and llvm::DbgVariable::isBlockByrefVariable().

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

Return true if this variable is represented as a pointer.

Definition at line 694 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 694 of file DebugInfo.cpp.

References llvm::DISubprogram::describes().

Verify - Verify that a variable descriptor is well formed.

Reimplemented from llvm::DIDescriptor.

Definition at line 556 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 668 of file DebugInfo.h.


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