LLVM API Documentation

llvm::DIType Class Reference

#include <DebugInfo.h>

Inheritance diagram for llvm::DIType:
[legend]
Collaboration diagram for llvm::DIType:
[legend]

List of all members.

Public Types

enum  { FlagPrivate = 1 << 0, FlagProtected = 1 << 1, FlagFwdDecl = 1 << 2 }

Public Member Functions

bool Verify () const
 Verify - Verify that a type descriptor is well formed.
 DIType (GlobalVariable *GV)
 DIType ()
virtual ~DIType ()
DIDescriptor getContext () const
std::string getName () const
DICompileUnit getCompileUnit () 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
void dump () const
 dump - print type.

Static Public Member Functions

static bool isDerivedType (unsigned TAG)
static bool isCompositeType (unsigned TAG)
static bool isBasicType (unsigned TAG)

Protected Member Functions

 DIType (GlobalVariable *GV, unsigned Tag)
 DIType (GlobalVariable *GV, bool, bool)


Detailed Description

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 146 of file DebugInfo.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
FlagPrivate 
FlagProtected 
FlagFwdDecl 

Definition at line 148 of file DebugInfo.h.


Constructor & Destructor Documentation

llvm::DIType::DIType ( GlobalVariable *  GV,
unsigned  Tag 
) [inline, protected]

Definition at line 155 of file DebugInfo.h.

llvm::DIType::DIType ( GlobalVariable *  GV,
bool  ,
bool   
) [inline, protected]

Definition at line 158 of file DebugInfo.h.

DIType::DIType ( GlobalVariable *  GV  )  [explicit]

llvm::DIType::DIType (  )  [inline, explicit]

Definition at line 179 of file DebugInfo.h.

virtual llvm::DIType::~DIType (  )  [inline, virtual]

Definition at line 180 of file DebugInfo.h.


Member Function Documentation

bool DIType::isDerivedType ( unsigned  Tag  )  [static]

bool DIType::isCompositeType ( unsigned  TAG  )  [static]

isCompositeType - Return true if the specified tag is legal for DICompositeType.

isCompositeType - Return true if the specified tag is legal for DICompositeType.

Definition at line 140 of file DebugInfo.cpp.

References llvm::dwarf::DW_TAG_array_type, llvm::dwarf::DW_TAG_enumeration_type, llvm::dwarf::DW_TAG_structure_type, llvm::dwarf::DW_TAG_subroutine_type, llvm::dwarf::DW_TAG_union_type, and llvm::dwarf::DW_TAG_vector_type.

Referenced by llvm::DICompositeType::DICompositeType(), DIType(), and dump().

static bool llvm::DIType::isBasicType ( unsigned  TAG  )  [inline, static]

isBasicType - Return true if the specified tag is legal for DIBasicType.

Definition at line 171 of file DebugInfo.h.

References llvm::dwarf::DW_TAG_base_type.

Referenced by dump().

bool DIType::Verify (  )  const

Verify - Verify that a type descriptor is well formed.

Reimplemented in llvm::DICompositeType.

Definition at line 195 of file DebugInfo.cpp.

References getCompileUnit(), getContext(), llvm::DIDescriptor::isNull(), and llvm::DICompileUnit::Verify().

Referenced by llvm::DIVariable::Verify(), and llvm::DIGlobalVariable::Verify().

DIDescriptor llvm::DIType::getContext (  )  const [inline]

Definition at line 182 of file DebugInfo.h.

References llvm::DIDescriptor::getDescriptorField().

Referenced by llvm::DICompositeType::Verify(), and Verify().

std::string llvm::DIType::getName (  )  const [inline]

Definition at line 183 of file DebugInfo.h.

References llvm::DIDescriptor::getStringField().

Referenced by dump().

DICompileUnit llvm::DIType::getCompileUnit (  )  const [inline]

Definition at line 184 of file DebugInfo.h.

Referenced by dump(), llvm::DICompositeType::Verify(), and Verify().

unsigned llvm::DIType::getLineNumber (  )  const [inline]

Definition at line 185 of file DebugInfo.h.

References llvm::DIDescriptor::getUnsignedField().

Referenced by dump().

uint64_t llvm::DIType::getSizeInBits (  )  const [inline]

Definition at line 186 of file DebugInfo.h.

References llvm::DIDescriptor::getUInt64Field().

Referenced by dump().

uint64_t llvm::DIType::getAlignInBits (  )  const [inline]

Definition at line 187 of file DebugInfo.h.

References llvm::DIDescriptor::getUInt64Field().

Referenced by dump().

uint64_t llvm::DIType::getOffsetInBits (  )  const [inline]

Definition at line 190 of file DebugInfo.h.

References llvm::DIDescriptor::getUInt64Field().

Referenced by dump().

unsigned llvm::DIType::getFlags (  )  const [inline]

Definition at line 191 of file DebugInfo.h.

References llvm::DIDescriptor::getUnsignedField().

Referenced by isForwardDecl(), isPrivate(), and isProtected().

bool llvm::DIType::isPrivate (  )  const [inline]

Definition at line 192 of file DebugInfo.h.

References FlagPrivate, and getFlags().

Referenced by dump().

bool llvm::DIType::isProtected (  )  const [inline]

Definition at line 193 of file DebugInfo.h.

References FlagProtected, and getFlags().

Referenced by dump().

bool llvm::DIType::isForwardDecl (  )  const [inline]

Definition at line 194 of file DebugInfo.h.

References FlagFwdDecl, and getFlags().

Referenced by dump().

void DIType::dump (  )  const


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