C-Breeze
C Compiler Infrastructure

[ Project home page]

pointerValue Class Reference

Pointer value class. More...

#include <pointervalue.h>

List of all members.

Public Member Functions

 pointerValue ()
 Defaut constructor.
 pointerValue (memoryBlock *mb, bool is_address=false)
 Single memory block constructor.
 pointerValue (const pointerValue &other)
 Copy constructor.
 ~pointerValue ()
 Destructor.
void copy_pointers_from (const pointerValue &other)
 Copy pointers.
void initialize_pointers ()
 Reinitialize the value.
void add_blocks_from (const pointerValue &other)
 Add blocks from another pointer.
bool is_lvalue ()
 Is assignable?

Public Attributes

memoryblock_set blocks
 Memory blocks.
const constantconstant_value
 Constant value.
bool is_address
 Is address?
bool is_a_use
 Is a use?
memoryblock_set dereferenced
 Dereferenced pointers.

Static Public Attributes

static int count


Detailed Description

Pointer value class.

This class holds a temporary pointer value, which consists of a set of target memory blocks, and a boolean that indicates whether it's an "address-of" pointer. We need this because expressions such as "&y" don't have storage associated with them.

Definition at line 59 of file pointervalue.h.


Constructor & Destructor Documentation

pointerValue::pointerValue  ) 
 

Defaut constructor.

pointerValue::pointerValue memoryBlock mb,
bool  is_address = false
 

Single memory block constructor.

pointerValue::pointerValue const pointerValue other  ) 
 

Copy constructor.

pointerValue::~pointerValue  ) 
 

Destructor.


Member Function Documentation

void pointerValue::add_blocks_from const pointerValue other  )  [inline]
 

Add blocks from another pointer.

Definition at line 137 of file pointervalue.h.

References blocks, dereferenced, vector_set< T >::insert(), and is_address.

void pointerValue::copy_pointers_from const pointerValue other  )  [inline]
 

Copy pointers.

Definition at line 121 of file pointervalue.h.

References blocks, dereferenced, and is_address.

void pointerValue::initialize_pointers  )  [inline]
 

Reinitialize the value.

Definition at line 129 of file pointervalue.h.

References blocks, dereferenced, and is_address.

bool pointerValue::is_lvalue  )  [inline]
 

Is assignable?

Is the given pointerValue an L-value

Definition at line 148 of file pointervalue.h.

References blocks, and is_address.


Member Data Documentation

memoryblock_set pointerValue::blocks
 

Memory blocks.

The objects that make up the "value" of the pointer analysis lattice element.

Definition at line 72 of file pointervalue.h.

Referenced by add_blocks_from(), copy_pointers_from(), initialize_pointers(), and is_lvalue().

const constant* pointerValue::constant_value
 

Constant value.

For constant propagation and constant folding

Definition at line 78 of file pointervalue.h.

int pointerValue::count [static]
 

Definition at line 63 of file pointervalue.h.

memoryblock_set pointerValue::dereferenced
 

Dereferenced pointers.

Keep a list of the pointers that are dereferenced in order to get this value.

Definition at line 97 of file pointervalue.h.

Referenced by add_blocks_from(), copy_pointers_from(), and initialize_pointers().

bool pointerValue::is_a_use
 

Is a use?

True if the objects will be used.

Definition at line 90 of file pointervalue.h.

bool pointerValue::is_address
 

Is address?

True if this represents the address of the memory blocks.

Definition at line 84 of file pointervalue.h.

Referenced by add_blocks_from(), copy_pointers_from(), initialize_pointers(), and is_lvalue().


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

Generated on February 1, 2006
Back to the C-Breeze home page