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

#include <symheap.hh>

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

Public Member Functions

 FldHandle ()
 FldHandle (SymHeapCore &sh, TObjId obj, TObjType clt, TOffset off=0)
 FldHandle (const TFldId special)
 FldHandle (const FldHandle &tpl)
 FldHandle (SymHeapCore &sh, const FldHandle &tpl)
 ~FldHandle ()
FldHandleoperator= (const FldHandle &tpl)
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 Member Functions

 FldHandle (SymHeapCore &sh, TFldId id)

Protected Attributes

SymHeapCoresh_
TFldId id_

Friends

class SymHeapCore
class SymProc
const char * valNullLabel (const SymHeapCore &, TFldId)

Detailed Description

Definition at line 606 of file symheap.hh.

Constructor & Destructor Documentation

FldHandle ( )
inline

Definition at line 608 of file symheap.hh.

FldHandle ( SymHeapCore sh,
TObjId  obj,
TObjType  clt,
TOffset  off = 0 
)
inline

Definition at line 614 of file symheap.hh.

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

FldHandle ( const TFldId  special)
inlineexplicit

Definition at line 622 of file symheap.hh.

References CL_BREAK_IF.

FldHandle ( const FldHandle tpl)
inline

Definition at line 629 of file symheap.hh.

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

FldHandle ( SymHeapCore sh,
const FldHandle tpl 
)
inline

Definition at line 637 of file symheap.hh.

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

~FldHandle ( )
inline

Definition at line 645 of file symheap.hh.

References SymHeapCore::fldLeave(), id_, and sh_.

FldHandle ( SymHeapCore sh,
TFldId  id 
)
inlineprotected

Definition at line 697 of file symheap.hh.

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

Member Function Documentation

TFldId fieldId ( ) const
inline

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

Definition at line 667 of file symheap.hh.

References id_.

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

bool isValidHandle ( ) const
inline

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

Definition at line 670 of file symheap.hh.

References id_.

Referenced by buildIgnoreList(), and type().

TObjId obj ( ) const
inline

return the object that the field is part of

Definition at line 673 of file symheap.hh.

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

TOffset offset ( ) const
inline

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

Definition at line 676 of file symheap.hh.

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

Referenced by translateFldHandle(), and traverseLiveFieldsGeneric().

FldHandle& operator= ( const FldHandle tpl)
inline

Definition at line 650 of file symheap.hh.

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

TValId placedAt ( ) const
inline

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

Definition at line 682 of file symheap.hh.

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

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

assign the given value, caller is responsible for garbage collecting

Definition at line 692 of file symheap.hh.

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

SymHeapCore* sh ( ) const
inline

return the SymHeapCore instance associated with this handle

Definition at line 664 of file symheap.hh.

References sh_.

Referenced by operator==().

TObjType type ( ) const
inline

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

Definition at line 685 of file symheap.hh.

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

Referenced by translateFldHandle(), and traverseLiveFieldsGeneric().

TValId value ( ) const
inline

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

Definition at line 679 of file symheap.hh.

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

Referenced by nextValFromSeg(), and valOfPtr().

Friends And Related Function Documentation

friend class SymHeapCore
friend

Definition at line 705 of file symheap.hh.

friend class SymProc
friend

Definition at line 708 of file symheap.hh.

const char* valNullLabel ( const SymHeapCore ,
TFldId   
)
friend

Field Documentation

TFldId id_
protected
SymHeapCore* sh_
protected

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