LLVM  mainline
Public Types | Public Member Functions | Static Public Member Functions | Friends
llvm::DIE Class Reference

DIE - A structured debug information entry. More...

#include <DIE.h>

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

List of all members.

Public Types

typedef IntrusiveBackList< DIE >
::iterator 
child_iterator
typedef IntrusiveBackList< DIE >
::const_iterator 
const_child_iterator
typedef iterator_range
< child_iterator
child_range
typedef iterator_range
< const_child_iterator
const_child_range

Public Member Functions

unsigned getAbbrevNumber () const
dwarf::Tag getTag () const
unsigned getOffset () const
unsigned getSize () const
bool hasChildren () const
child_range children ()
const_child_range children () const
DIEgetParent () const
DIEAbbrev generateAbbrev () const
 Generate the abbreviation for this DIE.
void setAbbrevNumber (unsigned I)
 Set the abbreviation number for this DIE.
const DIEgetUnit () const
 Climb up the parent chain to get the compile or type unit DIE this DIE belongs to.
const DIEgetUnitOrNull () const
 Similar to getUnit, returns null when DIE is not added to an owner yet.
void setOffset (unsigned O)
void setSize (unsigned S)
DIEaddChild (DIE *Child)
 Add a child to the DIE.
DIEValue findAttribute (dwarf::Attribute Attribute) const
 Find a value in the DIE with the attribute given.
void print (raw_ostream &O, unsigned IndentCount=0) const
void dump ()

Static Public Member Functions

static DIEget (BumpPtrAllocator &Alloc, dwarf::Tag Tag)

Friends

class IntrusiveBackList< DIE >

Detailed Description

DIE - A structured debug information entry.

Has an abbreviation which describes its organization.

Definition at line 652 of file DIE.h.


Member Typedef Documentation

Definition at line 689 of file DIE.h.

Definition at line 691 of file DIE.h.

Definition at line 690 of file DIE.h.

Definition at line 692 of file DIE.h.


Member Function Documentation

DIE& llvm::DIE::addChild ( DIE Child) [inline]

Definition at line 223 of file DIE.cpp.

References llvm::dbgs(), and print().

Find a value in the DIE with the attribute given.

Returns a default-constructed DIEValue (where DIEValue::getType() gives DIEValue::isNone) if no such attribute exists.

Definition at line 172 of file DIE.cpp.

References llvm::DIEValueList::values().

Referenced by computeIndexValue().

Generate the abbreviation for this DIE.

Calculate the abbreviation for this, which should be uniqued and eventually used to call setAbbrevNumber().

Definition at line 144 of file DIE.cpp.

References llvm::DIEAbbrev::AddAttribute(), hasChildren(), and llvm::DIEValueList::values().

Referenced by llvm::DwarfFile::assignAbbrevNumber().

static DIE* llvm::DIE::get ( BumpPtrAllocator Alloc,
dwarf::Tag  Tag 
) [inline, static]

Definition at line 683 of file DIE.h.

Referenced by llvm::DwarfFile::computeSizeAndOffset(), and llvm::AsmPrinter::emitDwarfDIE().

unsigned llvm::DIE::getOffset ( ) const [inline]
DIE* llvm::DIE::getParent ( ) const [inline]

Definition at line 701 of file DIE.h.

Referenced by addChild(), llvm::DIEHash::computeTypeSignature(), and getUnitOrNull().

unsigned llvm::DIE::getSize ( ) const [inline]
dwarf::Tag llvm::DIE::getTag ( ) const [inline]
const DIE * DIE::getUnit ( ) const

Climb up the parent chain to get the compile or type unit DIE this DIE belongs to.

Climb up the parent chain to get the unit DIE to which this DIE belongs.

Definition at line 153 of file DIE.cpp.

References getUnitOrNull().

Referenced by llvm::DIEEntry::EmitValue().

Similar to getUnit, returns null when DIE is not added to an owner yet.

Climb up the parent chain to get the unit DIE this DIE belongs to.

Return NULL if DIE is not added to an owner yet.

Definition at line 161 of file DIE.cpp.

References getParent(), and getTag().

Referenced by llvm::DwarfUnit::addDIEEntry(), and getUnit().

bool llvm::DIE::hasChildren ( ) const [inline]
LLVM_DUMP_METHOD void DIE::print ( raw_ostream O,
unsigned  IndentCount = 0 
) const
void llvm::DIE::setAbbrevNumber ( unsigned  I) [inline]

Set the abbreviation number for this DIE.

Definition at line 710 of file DIE.h.

References I.

Referenced by llvm::DwarfFile::assignAbbrevNumber().

void llvm::DIE::setOffset ( unsigned  O) [inline]

Definition at line 718 of file DIE.h.

References Offset.

Referenced by llvm::DwarfFile::computeSizeAndOffset().

void llvm::DIE::setSize ( unsigned  S) [inline]

Definition at line 719 of file DIE.h.

Referenced by llvm::DwarfFile::computeSizeAndOffset().


Friends And Related Function Documentation

friend class IntrusiveBackList< DIE > [friend]

Definition at line 653 of file DIE.h.


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