Static Value-Flow Analysis
|
#include <SymbolTableInfo.h>
Public Types | |
enum | MEMTYPE { FUNCTION_OBJ = 0x1 , GLOBVAR_OBJ = 0x2 , STATIC_OBJ = 0x4 , STACK_OBJ = 0x8 , HEAP_OBJ = 0x10 , VAR_STRUCT_OBJ = 0x20 , VAR_ARRAY_OBJ = 0x40 , CONST_STRUCT_OBJ = 0x80 , CONST_ARRAY_OBJ = 0x100 , CONST_GLOBAL_OBJ = 0x200 , CONST_DATA = 0x400 } |
Public Member Functions | |
ObjTypeInfo (const SVFType *t, u32_t max) | |
Constructors. | |
virtual | ~ObjTypeInfo () |
Destructor. | |
const SVFType * | getType () const |
Get LLVM type. | |
u32_t | getMaxFieldOffsetLimit () |
Get max field offset limit. | |
void | setMaxFieldOffsetLimit (u32_t limit) |
Get max field offset limit. | |
void | setNumOfElements (u32_t num) |
Set the number of elements of this object. | |
u32_t | getNumOfElements () const |
Get the number of elements of this object. | |
u32_t | getByteSizeOfObj () const |
Get the byte size of this object. | |
void | setByteSizeOfObj (u32_t size) |
Set the byte size of this object. | |
bool | isConstantByteSize () const |
Check if byte size is a const value. | |
void | setFlag (MEMTYPE mask) |
Flag for this object type. | |
bool | hasFlag (MEMTYPE mask) |
bool | isFunction () |
Object attributes. | |
bool | isGlobalObj () |
bool | isStaticObj () |
bool | isStack () |
bool | isHeap () |
bool | isVarStruct () |
bool | isConstantStruct () |
bool | isStruct () |
bool | isVarArray () |
bool | isConstantArray () |
bool | isArray () |
bool | isConstDataOrConstGlobal () |
bool | isConstDataOrAggData () |
Private Member Functions | |
void | resetTypeForHeapStaticObj (const SVFType *type) |
Private Attributes | |
const SVFType * | type |
SVF type. | |
u32_t | flags |
Type flags. | |
u32_t | maxOffsetLimit |
u32_t | elemNum |
Size of the object or number of elements. | |
u32_t | byteSize |
Byte size of object. | |
Friends | |
class | SVFIRWriter |
class | SVFIRReader |
class | SymbolTableBuilder |
Type Info of an abstract memory object
Definition at line 488 of file SymbolTableInfo.h.
Enumerator | |
---|---|
FUNCTION_OBJ | |
GLOBVAR_OBJ | |
STATIC_OBJ | |
STACK_OBJ | |
HEAP_OBJ | |
VAR_STRUCT_OBJ | |
VAR_ARRAY_OBJ | |
CONST_STRUCT_OBJ | |
CONST_ARRAY_OBJ | |
CONST_GLOBAL_OBJ | |
CONST_DATA |
Definition at line 495 of file SymbolTableInfo.h.
Constructors.
Definition at line 45 of file SymbolTableInfo.cpp.
|
inlinevirtual |
|
inline |
Get the byte size of this object.
Definition at line 568 of file SymbolTableInfo.h.
|
inline |
Get max field offset limit.
Definition at line 543 of file SymbolTableInfo.h.
|
inline |
Get the number of elements of this object.
Definition at line 562 of file SymbolTableInfo.h.
Definition at line 592 of file SymbolTableInfo.h.
|
inline |
Definition at line 645 of file SymbolTableInfo.h.
|
inline |
Definition at line 641 of file SymbolTableInfo.h.
|
inline |
Check if byte size is a const value.
Definition at line 581 of file SymbolTableInfo.h.
|
inline |
Definition at line 629 of file SymbolTableInfo.h.
|
inline |
Definition at line 653 of file SymbolTableInfo.h.
|
inline |
Definition at line 649 of file SymbolTableInfo.h.
|
inline |
Object attributes.
Definition at line 600 of file SymbolTableInfo.h.
|
inline |
Definition at line 604 of file SymbolTableInfo.h.
|
inline |
Definition at line 616 of file SymbolTableInfo.h.
|
inline |
Definition at line 612 of file SymbolTableInfo.h.
|
inline |
Definition at line 608 of file SymbolTableInfo.h.
|
inline |
Definition at line 633 of file SymbolTableInfo.h.
|
inline |
Definition at line 637 of file SymbolTableInfo.h.
|
inline |
Object attributes (noted that an object can be a nested compound types) e.g. both isStruct and isArray can return true
Definition at line 625 of file SymbolTableInfo.h.
Definition at line 51 of file SymbolTableInfo.cpp.
|
inline |
Set the byte size of this object.
Definition at line 575 of file SymbolTableInfo.h.
|
inline |
Flag for this object type.
Definition at line 588 of file SymbolTableInfo.h.
|
inline |
Get max field offset limit.
Definition at line 549 of file SymbolTableInfo.h.
|
inline |
Set the number of elements of this object.
Definition at line 555 of file SymbolTableInfo.h.
|
friend |
Definition at line 491 of file SymbolTableInfo.h.
|
friend |
Definition at line 490 of file SymbolTableInfo.h.
|
friend |
Definition at line 492 of file SymbolTableInfo.h.
|
private |
Byte size of object.
Definition at line 523 of file SymbolTableInfo.h.
|
private |
Size of the object or number of elements.
Definition at line 520 of file SymbolTableInfo.h.
|
private |
Type flags.
Definition at line 514 of file SymbolTableInfo.h.
|
private |
Max offset for flexible field sensitive analysis maximum number of field object can be created minimum number is 0 (field insensitive analysis)
Definition at line 518 of file SymbolTableInfo.h.
SVF type.
Definition at line 512 of file SymbolTableInfo.h.