Predator  [unstable] git snapshot
Public Member Functions | Protected Attributes
PtrHandle Class Reference

#include <symheap.hh>

Inheritance diagram for PtrHandle:
Inheritance graph
[legend]
Collaboration diagram for PtrHandle:
Collaboration graph
[legend]

Public Member Functions

 PtrHandle (SymHeapCore &sh, const TObjId obj, const TOffset off=0)
SymHeapCoresh () const
 return the SymHeapCore instance associated with this handle
TFldId fieldId () const
 return raw field ID inside this handle (used mainly internally)
bool isValidHandle () const
 true if the given handle is valid (does not imply field validity)
TObjId obj () const
 return the object that the field is part of
TOffset offset () const
 return the offset at which the field is placed within the object
TValId value () const
 return the value inside the field (may trigger its initialization)
TValId placedAt () const
 return the address of the field (may trigger address instantiation)
TObjType type () const
 static type-info of the given object (return 0 if not available)
void setValue (const TValId val, TValSet *killedPtrs=0) const
 assign the given value, caller is responsible for garbage collecting

Protected Attributes

SymHeapCoresh_
TFldId id_

Detailed Description

Definition at line 739 of file symheap.hh.

Constructor & Destructor Documentation

PtrHandle ( SymHeapCore sh,
const TObjId  obj,
const TOffset  off = 0 
)
inline

Definition at line 741 of file symheap.hh.

References SymHeapCore::fldEnter(), FldHandle::id_, and FldHandle::sh_.

Member Function Documentation

TFldId fieldId ( ) const
inlineinherited

return raw field ID inside this handle (used mainly internally)

Definition at line 667 of file symheap.hh.

References FldHandle::id_.

Referenced by operator<(), and operator==().

bool isValidHandle ( ) const
inlineinherited

true if the given handle is valid (does not imply field validity)

Definition at line 670 of file symheap.hh.

References FldHandle::id_.

Referenced by buildIgnoreList(), and FldHandle::type().

TObjId obj ( ) const
inlineinherited

return the object that the field is part of

Definition at line 673 of file symheap.hh.

References FldHandle::id_, SymHeapCore::objByField(), and FldHandle::sh_.

TOffset offset ( ) const
inlineinherited

return the offset at which the field is placed within the object

Definition at line 676 of file symheap.hh.

References SymHeapCore::fieldOffset(), FldHandle::id_, and FldHandle::sh_.

Referenced by translateFldHandle(), and traverseLiveFieldsGeneric().

TValId placedAt ( ) const
inlineinherited

return the address of the field (may trigger address instantiation)

Definition at line 682 of file symheap.hh.

References FldHandle::id_, SymHeapCore::placedAt(), and FldHandle::sh_.

void setValue ( const TValId  val,
TValSet killedPtrs = 0 
) const
inlineinherited

assign the given value, caller is responsible for garbage collecting

Definition at line 692 of file symheap.hh.

References FldHandle::id_, SymHeapCore::setValOfField(), and FldHandle::sh_.

SymHeapCore* sh ( ) const
inlineinherited

return the SymHeapCore instance associated with this handle

Definition at line 664 of file symheap.hh.

References FldHandle::sh_.

Referenced by operator==().

TObjType type ( ) const
inlineinherited

static type-info of the given object (return 0 if not available)

Definition at line 685 of file symheap.hh.

References SymHeapCore::fieldType(), FldHandle::id_, FldHandle::isValidHandle(), and FldHandle::sh_.

Referenced by translateFldHandle(), and traverseLiveFieldsGeneric().

TValId value ( ) const
inlineinherited

return the value inside the field (may trigger its initialization)

Definition at line 679 of file symheap.hh.

References FldHandle::id_, FldHandle::sh_, and SymHeapCore::valueOf().

Referenced by nextValFromSeg(), and valOfPtr().

Field Documentation

TFldId id_
protectedinherited
SymHeapCore* sh_
protectedinherited

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