Predator  [unstable] git snapshot
Typedefs | Enumerations
symid.hh File Reference

types used for identification of SymHeap entities - symid.hh::TFldId and symid.hh::TValId More...

#include "config.h"
#include <climits>
#include <utility>

Go to the source code of this file.

Typedefs

typedef std::pair< TValId, TValIdTValPair
typedef std::pair< TObjId, TObjIdTObjPair

Enumerations

enum  TFldId {
  FLD_INVALID = -1,
  FLD_DEREF_FAILED = -2,
  FLD_UNKNOWN = -3,
  FLD_MAX_ID = UINT_MAX
}
 SymHeap field ID. More...
enum  TValId {
  VAL_NULL = 0,
  VAL_INVALID = -1,
  VAL_FALSE = VAL_NULL,
  VAL_TRUE = 1,
  VAL_MAX_ID = UINT_MAX
}
 SymHeap value ID. More...
enum  TObjId {
  OBJ_INVALID = -1,
  OBJ_NULL = (VAL_TRUE + 1),
  OBJ_RETURN = (OBJ_NULL + 1),
  OBJ_MAX_ID = UINT_MAX
}
 SymHeap object ID. More...

Detailed Description

types used for identification of SymHeap entities - symid.hh::TFldId and symid.hh::TValId

Definition in file symid.hh.

Typedef Documentation

typedef std::pair<TObjId, TObjId> TObjPair

Definition at line 127 of file symid.hh.

typedef std::pair<TValId, TValId> TValPair

Definition at line 106 of file symid.hh.

Enumeration Type Documentation

enum TFldId

SymHeap field ID.

Note
Though the type is defined as enumeration for now, the code should not rely on that fact, as it may be subject for change in the future.
Enumerator:
FLD_INVALID 

special enumeration value denoting a failure of a method which may return a valid object.

FLD_INVALID can never denote a valid object.

FLD_DEREF_FAILED 

special enumeration value denoting a result of invalid dereference, either direct or implied.

FLD_DEREF_FAILED can never denote a valid object. This enumeration value is used for sort of error recovery, especially to avoid flood of error messages triggered by a single error in the analyzed program.

FLD_UNKNOWN 

special enumeration value denoting we in fact know nothing about the requested object.

FLD_UNKNOWN may or may not stand for an existing object.

FLD_MAX_ID 

sort of non-portable hack, abusing enumeration type for integral purposes

Definition at line 39 of file symid.hh.

enum TObjId

SymHeap object ID.

Note
Though the type is defined as enumeration for now, the code should not rely on that fact, as it may be subject for change in the future.
Enumerator:
OBJ_INVALID 

for signalling error states only

OBJ_NULL 

target of VAL_NULL (a.k.a. NULL object)

OBJ_RETURN 

return value of the function currently being executed

OBJ_MAX_ID 

sort of non-portable hack, abusing enumeration type for integral purposes

Definition at line 113 of file symid.hh.

enum TValId

SymHeap value ID.

Note
Though the type is defined as enumeration for now, the code should not rely on that fact, as it may be subject for change in the future.
Enumerator:
VAL_NULL 

special enumeration value denoting a NULL pointer.

This value can't be followed by SymHeap::pointsTo(). This enumeration value coincides with VAL_FALSE and can't be anyhow distinguished without the owning object.

VAL_INVALID 

special enumeration value denoting a failure of a method which may return a value ID.

VAL_INVALID can never denote a valid value.

VAL_FALSE 

special enumeration value denoting a Boolean false value.

This enumeration value coincides with VAL_NULL and can't be anyhow distinguished without the owning object.

VAL_TRUE 

special enumeration value denoting a Boolean true value or (int) 1.

VAL_MAX_ID 

sort of non-portable hack, abusing enumeration type for integral purposes

Definition at line 73 of file symid.hh.