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

#include <SVFType.h>

Inheritance diagram for SVF::SVFArrayType:
SVF::SVFType

Public Member Functions

 SVFArrayType (u32_t i, u32_t byteSize=1)
 For printing & debugging.
 
void print (std::ostream &os) const override
 
const SVFTypegetTypeOfElement () const
 
void setTypeOfElement (const SVFType *elemType)
 
void setNumOfElement (unsigned elemNum)
 
- Public Member Functions inherited from SVF::SVFType
 SVFType (void)=delete
 
virtual ~SVFType ()
 
GNodeK getKind () const
 
std::string toString () const
 
u32_t getId () const
 
void setTypeInfo (StInfo *ti)
 
StInfogetTypeInfo ()
 
const StInfogetTypeInfo () const
 
u32_t getByteSize () const
 
bool isPointerTy () const
 
bool isArrayTy () const
 
bool isStructTy () const
 
bool isSingleValueType () const
 

Static Public Member Functions

static bool classof (const SVFType *node)
 
- Static Public Member Functions inherited from SVF::SVFType
static SVFTypegetSVFPtrType ()
 
static SVFTypegetSVFInt8Type ()
 

Private Attributes

unsigned numOfElement
 
const SVFTypetypeOfElement
 For printing & debugging.
 

Additional Inherited Members

- Public Types inherited from SVF::SVFType
enum  SVFTyKind {
  SVFTy , SVFPointerTy , SVFIntegerTy , SVFFunctionTy ,
  SVFStructTy , SVFArrayTy , SVFOtherTy
}
 
typedef s64_t GNodeK
 
- Protected Member Functions inherited from SVF::SVFType
 SVFType (bool svt, SVFTyKind k, u32_t i=0, u32_t Sz=1)
 

Detailed Description

Definition at line 394 of file SVFType.h.

Constructor & Destructor Documentation

◆ SVFArrayType()

SVF::SVFArrayType::SVFArrayType ( u32_t  i,
u32_t  byteSize = 1 
)
inline

For printing & debugging.

Definition at line 402 of file SVFType.h.

403 : SVFType(false, SVFArrayTy, i, byteSize), numOfElement(0), typeOfElement(nullptr)
404 {
405 }
const SVFType * typeOfElement
For printing & debugging.
Definition SVFType.h:399
unsigned numOfElement
Definition SVFType.h:398
u32_t byteSize
LLVM Byte Size.
Definition SVFType.h:196
SVFType(void)=delete
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74

Member Function Documentation

◆ classof()

static bool SVF::SVFArrayType::classof ( const SVFType node)
inlinestatic

Definition at line 407 of file SVFType.h.

408 {
409 return node->getKind() == SVFArrayTy;
410 }

◆ getTypeOfElement()

const SVFType * SVF::SVFArrayType::getTypeOfElement ( ) const
inline

Definition at line 414 of file SVFType.h.

415 {
416 return typeOfElement;
417 }

◆ print()

void SVF::SVFArrayType::print ( std::ostream &  os) const
overridevirtual

Implements SVF::SVFType.

Definition at line 82 of file SVFType.cpp.

83{
84 os << '[' << numOfElement << 'x' << *typeOfElement << ']';
85}

◆ setNumOfElement()

void SVF::SVFArrayType::setNumOfElement ( unsigned  elemNum)
inline

Definition at line 424 of file SVFType.h.

425 {
426 numOfElement = elemNum;
427 }

◆ setTypeOfElement()

void SVF::SVFArrayType::setTypeOfElement ( const SVFType elemType)
inline

Definition at line 419 of file SVFType.h.

420 {
422 }

Member Data Documentation

◆ numOfElement

unsigned SVF::SVFArrayType::numOfElement
private

Definition at line 398 of file SVFType.h.

◆ typeOfElement

const SVFType* SVF::SVFArrayType::typeOfElement
private

For printing & debugging.

Definition at line 399 of file SVFType.h.


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