Static Value-Flow Analysis
|
#include <SVFType.h>
Public Member Functions | |
StInfo ()=delete | |
Max field limit. | |
StInfo (const StInfo &st)=delete | |
void | operator= (const StInfo &)=delete |
StInfo (u32_t s) | |
Constructor. | |
~StInfo ()=default | |
Destructor. | |
const SVFType * | getOriginalElemType (u32_t fldIdx) const |
std::vector< u32_t > & | getFlattenedFieldIdxVec () |
std::vector< u32_t > & | getFlattenedElemIdxVec () |
std::vector< const SVFType * > & | getFlattenElementTypes () |
std::vector< const SVFType * > & | getFlattenFieldTypes () |
const std::vector< u32_t > & | getFlattenedFieldIdxVec () const |
const std::vector< u32_t > & | getFlattenedElemIdxVec () const |
const std::vector< const SVFType * > & | getFlattenElementTypes () const |
const std::vector< const SVFType * > & | getFlattenFieldTypes () const |
void | addFldWithType (u32_t fldIdx, const SVFType *type, u32_t elemIdx) |
Add field index and element index and their corresponding type. | |
void | setNumOfFieldsAndElems (u32_t nf, u32_t ne) |
Set number of fields and elements of an aggregate. | |
u32_t | getNumOfFlattenElements () const |
Return number of elements after flattening (including array elements) | |
u32_t | getNumOfFlattenFields () const |
Return the number of fields after flattening (ignoring array elements) | |
u32_t | getStride () const |
Return the stride. | |
Private Attributes | |
std::vector< u32_t > | fldIdxVec |
flattened field indices of a struct (ignoring arrays) | |
std::vector< u32_t > | elemIdxVec |
Map< u32_t, const SVFType * > | fldIdx2TypeMap |
Types of all fields of a struct. | |
std::vector< const SVFType * > | finfo |
All field infos after flattening a struct. | |
u32_t | stride |
u32_t | numOfFlattenElements |
number of elements after flattening (including array elements) | |
u32_t | numOfFlattenFields |
number of fields after flattening (ignoring array elements) | |
std::vector< const SVFType * > | flattenElementTypes |
Type vector of fields. | |
Friends | |
class | SVFIRWriter |
class | SVFIRReader |
Flattened type information of StructType, ArrayType and SingleValueType
|
delete |
Max field limit.
|
inlineexplicit |
Constructor.
Definition at line 78 of file SVFType.h.
|
default |
Destructor.
Add field index and element index and their corresponding type.
Add field (index and offset) with its corresponding type.
Definition at line 9 of file SVFValue.cpp.
|
inline |
|
inline |
Definition at line 102 of file SVFType.h.
Definition at line 106 of file SVFType.h.
|
inline |
Return number of elements after flattening (including array elements)
|
inline |
Return the number of fields after flattening (ignoring array elements)
struct A { int id; int salary; }; struct B { char name[20]; struct A a;} B b;
OriginalFieldType of b with field_idx 1 : Struct A FlatternedFieldType of b with field_idx 1 : int
Definition at line 20 of file SVFValue.cpp.
|
inline |
Set number of fields and elements of an aggregate.
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |