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

#include <SVFValue.h>

Inheritance diagram for SVF::SVFGlobalValue:
SVF::SVFConstant SVF::SVFValue

Public Member Functions

 SVFGlobalValue (const SVFType *ty)
 
 SVFGlobalValue (std::string &&name, const SVFType *ty)
 
 SVFGlobalValue ()=delete
 
const SVFValuegetDefGlobalForMultipleModule () const
 
- Public Member Functions inherited from SVF::SVFConstant
 SVFConstant (const SVFType *ty, SVFValKind k=SVFConst)
 
 SVFConstant ()=delete
 
- Public Member Functions inherited from SVF::SVFValue
 SVFValue ()=delete
 
virtual ~SVFValue ()=default
 
GNodeK getKind () const
 Get the type of this SVFValue. More...
 
const std::stringgetName () const
 
void setName (const std::string &n)
 
void setName (std::string &&n)
 
virtual const SVFTypegetType () const
 
bool isConstDataOrAggData () const
 
bool ptrInUncalledFunction () const
 
bool isblackHole () const
 
bool isNullPtr () const
 
virtual void setSourceLoc (const std::string &sourceCodeInfo)
 
virtual const std::string getSourceLoc () const
 
std::string toString () const
 Needs to be implemented by a SVF front end. More...
 

Static Public Member Functions

static bool classof (const SVFValue *node)
 
static bool classof (const SVFConstant *node)
 
- Static Public Member Functions inherited from SVF::SVFConstant
static bool classof (const SVFValue *node)
 

Protected Member Functions

void setDefGlobalForMultipleModule (const SVFValue *defg)
 the definition of a function across multiple modules More...
 
- Protected Member Functions inherited from SVF::SVFValue
 SVFValue (const SVFType *ty, SVFValKind k)
 Constructor without name. More...
 
void setConstDataOrAggData ()
 
void setPtrInUncalledFunction ()
 

Private Attributes

const SVFValuerealDefGlobal
 

Friends

class SVFIRWriter
 
class SVFIRReader
 
class LLVMModuleSet
 

Additional Inherited Members

- Public Types inherited from SVF::SVFValue
enum  SVFValKind {
  SVFVal , SVFFunc , SVFBB , SVFInst ,
  SVFCall , SVFVCall , SVFGlob , SVFArg ,
  SVFConst , SVFConstData , SVFConstInt , SVFConstFP ,
  SVFNullPtr , SVFBlackHole , SVFMetaAsValue , SVFOther
}
 
typedef s64_t GNodeK
 
- Protected Attributes inherited from SVF::SVFValue
const SVFTypetype
 Type of this SVFValue. More...
 
std::string name
 Short name of value for printing & debugging. More...
 
std::string sourceLoc
 

Detailed Description

Definition at line 821 of file SVFValue.h.

Constructor & Destructor Documentation

◆ SVFGlobalValue() [1/3]

SVF::SVFGlobalValue::SVFGlobalValue ( const SVFType ty)
inline

Definition at line 837 of file SVFValue.h.

838  {
839  }
SVFConstant()=delete
const SVFValue * realDefGlobal
Definition: SVFValue.h:828

◆ SVFGlobalValue() [2/3]

SVF::SVFGlobalValue::SVFGlobalValue ( std::string &&  name,
const SVFType ty 
)
inline

Definition at line 840 of file SVFValue.h.

840  : SVFGlobalValue(ty)
841  {
843  }
void setName(const std::string &n)
Definition: SVFValue.h:247
std::string name
Short name of value for printing & debugging.
Definition: SVFValue.h:213
constexpr std::remove_reference< T >::type && move(T &&t) noexcept
Definition: SVFUtil.h:447

◆ SVFGlobalValue() [3/3]

SVF::SVFGlobalValue::SVFGlobalValue ( )
delete

Member Function Documentation

◆ classof() [1/2]

static bool SVF::SVFGlobalValue::classof ( const SVFConstant node)
inlinestatic

Definition at line 856 of file SVFValue.h.

857  {
858  return node->getKind() == SVFGlob;
859  }

◆ classof() [2/2]

static bool SVF::SVFGlobalValue::classof ( const SVFValue node)
inlinestatic

Definition at line 852 of file SVFValue.h.

853  {
854  return node->getKind() == SVFGlob;
855  }

◆ getDefGlobalForMultipleModule()

const SVFValue* SVF::SVFGlobalValue::getDefGlobalForMultipleModule ( ) const
inline

Definition at line 846 of file SVFValue.h.

847  {
848  if(realDefGlobal==nullptr)
849  return this;
850  return realDefGlobal;
851  }

◆ setDefGlobalForMultipleModule()

void SVF::SVFGlobalValue::setDefGlobalForMultipleModule ( const SVFValue defg)
inlineprotected

the definition of a function across multiple modules

Definition at line 831 of file SVFValue.h.

832  {
833  realDefGlobal = defg;
834  }

Friends And Related Function Documentation

◆ LLVMModuleSet

friend class LLVMModuleSet
friend

Definition at line 825 of file SVFValue.h.

◆ SVFIRReader

friend class SVFIRReader
friend

Definition at line 824 of file SVFValue.h.

◆ SVFIRWriter

friend class SVFIRWriter
friend

Definition at line 823 of file SVFValue.h.

Member Data Documentation

◆ realDefGlobal

const SVFValue* SVF::SVFGlobalValue::realDefGlobal
private

Definition at line 828 of file SVFValue.h.


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