Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | Friends | List of all members
SVF::SVFModuleReader Class Reference

#include <SVFFileSystem.h>

Public Member Functions

template<typename SVFTypeCreator , typename SVFTypeFiller , typename SVFValueCreator , typename SVFValueFiller , typename StInfoCreator >
void createObjs (const cJSON *svfModuleJson, SVFTypeCreator typeCreator, SVFTypeFiller typeFiller, SVFValueCreator valueCreator, SVFValueFiller valueFiller, StInfoCreator stInfoCreator)
 
SVFValuegetSVFValuePtr (size_t id) const
 
SVFTypegetSVFTypePtr (size_t id) const
 
StInfogetStInfoPtr (size_t id) const
 
const cJSONgetFieldJson () const
 

Private Attributes

const cJSONsvfModuleFieldJson = nullptr
 
ReaderPtrPool< SVFTypesvfTypePool
 
ReaderPtrPool< StInfostInfoPool
 
ReaderPtrPool< SVFValuesvfValuePool
 

Friends

class SVFIRReader
 

Detailed Description

Definition at line 967 of file SVFFileSystem.h.

Member Function Documentation

◆ createObjs()

void SVF::SVFModuleReader::createObjs ( const cJSON svfModuleJson,
SVFTypeCreator  typeCreator,
SVFTypeFiller  typeFiller,
SVFValueCreator  valueCreator,
SVFValueFiller  valueFiller,
StInfoCreator  stInfoCreator 
)
inline

Definition at line 981 of file SVFFileSystem.h.

984 {
985 assert(!svfModuleFieldJson && "SVFModule Already created?");
987 "svfModuleJson not an JSON object?");
988
989 const cJSON* const allSVFType = svfModuleJson->child;
992
993 const cJSON* const allStInfo = allSVFType->next;
995 stInfoPool.createObjs(allStInfo, stInfoCreator); // Only need SVFType*
996
997 svfTypePool.fillObjs(typeFiller); // Only need SVFType* & StInfo*
998
999 const cJSON* const allSVFValue = allStInfo->next;
1002 svfValuePool.fillObjs(valueFiller); // Need SVFType* & SVFValue*
1003
1005 }
#define ABORT_IFNOT(condition, msg)
#define CHECK_JSON_KEY(obj)
ReaderPtrPool< SVFValue > svfValuePool
const cJSON * svfModuleFieldJson
ReaderPtrPool< StInfo > stInfoPool
ReaderPtrPool< SVFType > svfTypePool
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74
bool jsonIsObject(const cJSON *item)
Definition cJSON.h:104
struct cJSON * child
Definition cJSON.h:109
struct cJSON * next
Definition cJSON.h:106

◆ getFieldJson()

const cJSON * SVF::SVFModuleReader::getFieldJson ( ) const
inline

Definition at line 1020 of file SVFFileSystem.h.

1021 {
1022 return svfModuleFieldJson;
1023 }

◆ getStInfoPtr()

StInfo * SVF::SVFModuleReader::getStInfoPtr ( size_t  id) const
inline

Definition at line 1015 of file SVFFileSystem.h.

1016 {
1017 return stInfoPool.getPtr(id);
1018 }

◆ getSVFTypePtr()

SVFType * SVF::SVFModuleReader::getSVFTypePtr ( size_t  id) const
inline

Definition at line 1011 of file SVFFileSystem.h.

1012 {
1013 return svfTypePool.getPtr(id);
1014 }

◆ getSVFValuePtr()

SVFValue * SVF::SVFModuleReader::getSVFValuePtr ( size_t  id) const
inline

Definition at line 1007 of file SVFFileSystem.h.

1008 {
1009 return svfValuePool.getPtr(id);
1010 }

Friends And Related Symbol Documentation

◆ SVFIRReader

Definition at line 969 of file SVFFileSystem.h.

Member Data Documentation

◆ stInfoPool

ReaderPtrPool<StInfo> SVF::SVFModuleReader::stInfoPool
private

Definition at line 974 of file SVFFileSystem.h.

◆ svfModuleFieldJson

const cJSON* SVF::SVFModuleReader::svfModuleFieldJson = nullptr
private

Definition at line 972 of file SVFFileSystem.h.

◆ svfTypePool

ReaderPtrPool<SVFType> SVF::SVFModuleReader::svfTypePool
private

Definition at line 973 of file SVFFileSystem.h.

◆ svfValuePool

ReaderPtrPool<SVFValue> SVF::SVFModuleReader::svfValuePool
private

Definition at line 975 of file SVFFileSystem.h.


The documentation for this class was generated from the following file: