|
Static Value-Flow Analysis
|
#include <ObjTypeInfo.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 *t) |
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 | SymbolTableBuilder |
Type Info of an abstract memory object
Definition at line 42 of file ObjTypeInfo.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 47 of file ObjTypeInfo.h.
Constructors.
Definition at line 85 of file ObjTypeInfo.h.
|
inlinevirtual |
|
inline |
Get the byte size of this object.
Definition at line 127 of file ObjTypeInfo.h.
|
inline |
Get max field offset limit.
Definition at line 102 of file ObjTypeInfo.h.
|
inline |
Get the number of elements of this object.
Definition at line 121 of file ObjTypeInfo.h.
Definition at line 151 of file ObjTypeInfo.h.
|
inline |
Definition at line 204 of file ObjTypeInfo.h.
|
inline |
Definition at line 200 of file ObjTypeInfo.h.
|
inline |
Check if byte size is a const value.
Definition at line 140 of file ObjTypeInfo.h.
|
inline |
Definition at line 188 of file ObjTypeInfo.h.
|
inline |
Definition at line 212 of file ObjTypeInfo.h.
|
inline |
Definition at line 208 of file ObjTypeInfo.h.
|
inline |
Object attributes.
Definition at line 159 of file ObjTypeInfo.h.
|
inline |
Definition at line 163 of file ObjTypeInfo.h.
|
inline |
Definition at line 175 of file ObjTypeInfo.h.
|
inline |
Definition at line 171 of file ObjTypeInfo.h.
|
inline |
Definition at line 167 of file ObjTypeInfo.h.
|
inline |
Definition at line 192 of file ObjTypeInfo.h.
|
inline |
Definition at line 196 of file ObjTypeInfo.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 184 of file ObjTypeInfo.h.
Definition at line 77 of file ObjTypeInfo.h.
|
inline |
Set the byte size of this object.
Definition at line 134 of file ObjTypeInfo.h.
|
inline |
Flag for this object type.
Definition at line 147 of file ObjTypeInfo.h.
|
inline |
Get max field offset limit.
Definition at line 108 of file ObjTypeInfo.h.
|
inline |
Set the number of elements of this object.
Definition at line 114 of file ObjTypeInfo.h.
|
friend |
Definition at line 44 of file ObjTypeInfo.h.
|
private |
Byte size of object.
Definition at line 75 of file ObjTypeInfo.h.
|
private |
Size of the object or number of elements.
Definition at line 72 of file ObjTypeInfo.h.
|
private |
Type flags.
Definition at line 66 of file ObjTypeInfo.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 70 of file ObjTypeInfo.h.
SVF type.
Definition at line 64 of file ObjTypeInfo.h.