Static Value-Flow Analysis
Public Member Functions | Private Attributes | Friends | List of all members
SVF::SymbolTableInfoReader Class Reference

#include <SVFFileSystem.h>

Public Member Functions

MemObjgetMemObjPtr (unsigned id) const
 
template<typename MemObjCreator >
void createObjs (const cJSON *symTabJson, MemObjCreator memObjCreator)
 
const cJSONgetFieldJson () const
 

Private Attributes

const cJSONsymTabFieldJson = nullptr
 
ReaderIDToObjMap< MemObjmemObjMap
 

Friends

class SVFIRReader
 

Detailed Description

Definition at line 898 of file SVFFileSystem.h.

Member Function Documentation

◆ createObjs()

template<typename MemObjCreator >
void SVF::SymbolTableInfoReader::createObjs ( const cJSON symTabJson,
MemObjCreator  memObjCreator 
)
inline

Definition at line 913 of file SVFFileSystem.h.

914  {
915  assert(!symTabFieldJson && "symTabFieldJson should be empty");
916  ABORT_IFNOT(jsonIsObject(symTabJson), "symTableJson is not an object?");
917 
918  const cJSON* const allMemObj = symTabJson->child;
919  CHECK_JSON_KEY(allMemObj);
920  memObjMap.createObjs(allMemObj, memObjCreator);
921 
922  symTabFieldJson = allMemObj->next;
923  }
#define ABORT_IFNOT(condition, reason)
Definition: SVFFileSystem.h:39
#define CHECK_JSON_KEY(obj)
Definition: SVFFileSystem.h:96
ReaderIDToObjMap< MemObj > memObjMap
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::SymbolTableInfoReader::getFieldJson ( ) const
inline

Definition at line 925 of file SVFFileSystem.h.

926  {
927  return symTabFieldJson;
928  }

◆ getMemObjPtr()

MemObj* SVF::SymbolTableInfoReader::getMemObjPtr ( unsigned  id) const
inline

Definition at line 907 of file SVFFileSystem.h.

908  {
909  return memObjMap.getPtr(id);
910  }

Friends And Related Function Documentation

◆ SVFIRReader

friend class SVFIRReader
friend

Definition at line 900 of file SVFFileSystem.h.

Member Data Documentation

◆ memObjMap

ReaderIDToObjMap<MemObj> SVF::SymbolTableInfoReader::memObjMap
private

Definition at line 904 of file SVFFileSystem.h.

◆ symTabFieldJson

const cJSON* SVF::SymbolTableInfoReader::symTabFieldJson = nullptr
private

Definition at line 903 of file SVFFileSystem.h.


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