Static Value-Flow Analysis
|
#include <SymbolTableInfo.h>
Public Member Functions | |
MemObj (SymID id, ObjTypeInfo *ti, const SVFValue *val=nullptr, const SVFBaseNode *node=nullptr) | |
Constructor. | |
virtual | ~MemObj () |
Destructor. | |
virtual const std::string | toString () const |
const SVFValue * | getValue () const |
Get the reference value to this object. | |
const SVFBaseNode * | getGNode () const |
Get the reference value to this object. | |
SymID | getId () const |
Get the memory object id. | |
const SVFType * | getType () const |
Get obj type. | |
u32_t | getNumOfElements () const |
Get the number of elements of this object. | |
void | setNumOfElements (u32_t num) |
Set the number of elements of this object. | |
u32_t | getMaxFieldOffsetLimit () const |
Get max field offset limit. | |
bool | isFieldInsensitive () const |
Return true if its field limit is 0. | |
void | setFieldInsensitive () |
Set the memory object to be field insensitive. | |
void | setFieldSensitive () |
Set the memory object to be field sensitive (up to max field limit) | |
bool | isBlackHoleObj () const |
Whether it is a black hole object. | |
u32_t | getByteSizeOfObj () const |
Get the byte size of this object. | |
bool | isConstantByteSize () const |
Check if byte size is a const value. | |
bool | isFunction () const |
object attributes methods | |
bool | isGlobalObj () const |
bool | isStaticObj () const |
bool | isStack () const |
bool | isHeap () const |
bool | isStruct () const |
bool | isArray () const |
bool | isVarStruct () const |
bool | isVarArray () const |
bool | isConstantStruct () const |
bool | isConstantArray () const |
bool | isConstDataOrConstGlobal () const |
bool | isConstDataOrAggData () const |
bool | operator== (const MemObj &mem) const |
Operator overloading. | |
void | destroy () |
Clean up memory. | |
Private Attributes | |
ObjTypeInfo * | typeInfo |
Type information of this object. | |
const SVFValue * | refVal |
The unique value of this symbol/variable. | |
SymID | symId |
The unique id to represent this symbol. | |
const SVFBaseNode * | gNode |
Friends | |
class | SVFIRWriter |
class | SVFIRReader |
class | SVFIRBuilder |
Memory object symbols or MemObj (address-taken variables in LLVM-based languages)
Definition at line 381 of file SymbolTableInfo.h.
MemObj::MemObj | ( | SymID | id, |
ObjTypeInfo * | ti, | ||
const SVFValue * | val = nullptr , |
||
const SVFBaseNode * | node = nullptr |
||
) |
Constructor.
Constructor of a memory object
Definition at line 377 of file SymbolTableInfo.cpp.
|
inlinevirtual |
void MemObj::destroy | ( | ) |
Clean up memory.
Definition at line 423 of file SymbolTableInfo.cpp.
u32_t MemObj::getByteSizeOfObj | ( | ) | const |
Get the byte size of this object.
Definition at line 397 of file SymbolTableInfo.cpp.
|
inline |
Get the reference value to this object.
Definition at line 416 of file SymbolTableInfo.h.
|
inline |
Get the memory object id.
Definition at line 422 of file SymbolTableInfo.h.
u32_t MemObj::getMaxFieldOffsetLimit | ( | ) | const |
Get max field offset limit.
Definition at line 430 of file SymbolTableInfo.cpp.
u32_t MemObj::getNumOfElements | ( | ) | const |
Get the number of elements of this object.
Definition at line 391 of file SymbolTableInfo.cpp.
Get obj type.
Get obj type info.
Definition at line 416 of file SymbolTableInfo.cpp.
Get the reference value to this object.
Definition at line 410 of file SymbolTableInfo.h.
bool MemObj::isArray | ( | ) | const |
Definition at line 477 of file SymbolTableInfo.cpp.
bool MemObj::isBlackHoleObj | ( | ) | const |
Whether it is a black hole object.
Whether it is a black hole object
Definition at line 385 of file SymbolTableInfo.cpp.
bool MemObj::isConstantArray | ( | ) | const |
Definition at line 497 of file SymbolTableInfo.cpp.
bool MemObj::isConstantByteSize | ( | ) | const |
Check if byte size is a const value.
Check if byte size is static determined.
Definition at line 403 of file SymbolTableInfo.cpp.
bool MemObj::isConstantStruct | ( | ) | const |
Definition at line 492 of file SymbolTableInfo.cpp.
bool MemObj::isConstDataOrAggData | ( | ) | const |
Definition at line 507 of file SymbolTableInfo.cpp.
bool MemObj::isConstDataOrConstGlobal | ( | ) | const |
Definition at line 502 of file SymbolTableInfo.cpp.
bool MemObj::isFieldInsensitive | ( | ) | const |
Return true if its field limit is 0.
Definition at line 436 of file SymbolTableInfo.cpp.
bool MemObj::isFunction | ( | ) | const |
bool MemObj::isGlobalObj | ( | ) | const |
Definition at line 452 of file SymbolTableInfo.cpp.
bool MemObj::isHeap | ( | ) | const |
Definition at line 467 of file SymbolTableInfo.cpp.
bool MemObj::isStack | ( | ) | const |
Definition at line 462 of file SymbolTableInfo.cpp.
bool MemObj::isStaticObj | ( | ) | const |
Definition at line 457 of file SymbolTableInfo.cpp.
bool MemObj::isStruct | ( | ) | const |
Definition at line 472 of file SymbolTableInfo.cpp.
bool MemObj::isVarArray | ( | ) | const |
Definition at line 487 of file SymbolTableInfo.cpp.
bool MemObj::isVarStruct | ( | ) | const |
Definition at line 482 of file SymbolTableInfo.cpp.
Operator overloading.
Definition at line 476 of file SymbolTableInfo.h.
void MemObj::setFieldInsensitive | ( | ) |
Set the memory object to be field insensitive.
Definition at line 442 of file SymbolTableInfo.cpp.
void MemObj::setFieldSensitive | ( | ) |
Set the memory object to be field sensitive (up to max field limit)
Set mem object to be field sensitive (up to maximum field limit)
Definition at line 368 of file SymbolTableInfo.cpp.
void MemObj::setNumOfElements | ( | u32_t | num | ) |
Set the number of elements of this object.
Definition at line 410 of file SymbolTableInfo.cpp.
|
virtual |
Definition at line 513 of file SymbolTableInfo.cpp.
|
friend |
Definition at line 385 of file SymbolTableInfo.h.
|
friend |
Definition at line 384 of file SymbolTableInfo.h.
|
friend |
Definition at line 383 of file SymbolTableInfo.h.
|
private |
Definition at line 395 of file SymbolTableInfo.h.
The unique value of this symbol/variable.
Definition at line 391 of file SymbolTableInfo.h.
|
private |
The unique id to represent this symbol.
Definition at line 393 of file SymbolTableInfo.h.
|
private |
Type information of this object.
Definition at line 389 of file SymbolTableInfo.h.