RetroArch
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
spv::Function Class Reference

#include <spvIR.h>

Collaboration diagram for spv::Function:
[legend]

Public Member Functions

 Function (Id id, Id resultType, Id functionType, Id firstParam, Module &parent)
 
virtual ~Function ()
 
Id getId () const
 
Id getParamId (int p) const
 
Id getParamType (int p) const
 
void addBlock (Block *block)
 
void removeBlock (Block *block)
 
ModulegetParent () const
 
BlockgetEntryBlock () const
 
BlockgetLastBlock () const
 
const std::vector< Block * > & getBlocks () const
 
void addLocalVariable (std::unique_ptr< Instruction > inst)
 
Id getReturnType () const
 
void setImplicitThis ()
 
bool hasImplicitThis () const
 
void dump (std::vector< unsigned int > &out) const
 

Protected Member Functions

 Function (const Function &)
 
Functionoperator= (Function &)
 

Protected Attributes

Moduleparent
 
Instruction functionInstruction
 
std::vector< Instruction * > parameterInstructions
 
std::vector< Block * > blocks
 
bool implicitThis
 

Constructor & Destructor Documentation

◆ Function() [1/2]

__inline spv::Function::Function ( Id  id,
Id  resultType,
Id  functionType,
Id  firstParam,
Module parent 
)
Here is the call graph for this function:

◆ ~Function()

virtual spv::Function::~Function ( )
inlinevirtual

◆ Function() [2/2]

spv::Function::Function ( const Function )
protected

Member Function Documentation

◆ addBlock()

void spv::Function::addBlock ( Block block)
inline
Here is the caller graph for this function:

◆ addLocalVariable()

__inline void spv::Function::addLocalVariable ( std::unique_ptr< Instruction inst)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dump()

void spv::Function::dump ( std::vector< unsigned int > &  out) const
inline
Here is the call graph for this function:

◆ getBlocks()

const std::vector<Block*>& spv::Function::getBlocks ( ) const
inline

◆ getEntryBlock()

Block* spv::Function::getEntryBlock ( ) const
inline

◆ getId()

Id spv::Function::getId ( ) const
inline
Here is the call graph for this function:

◆ getLastBlock()

Block* spv::Function::getLastBlock ( ) const
inline

◆ getParamId()

Id spv::Function::getParamId ( int  p) const
inline

◆ getParamType()

Id spv::Function::getParamType ( int  p) const
inline

◆ getParent()

Module& spv::Function::getParent ( ) const
inline
Here is the caller graph for this function:

◆ getReturnType()

Id spv::Function::getReturnType ( ) const
inline
Here is the call graph for this function:

◆ hasImplicitThis()

bool spv::Function::hasImplicitThis ( ) const
inline

◆ operator=()

Function& spv::Function::operator= ( Function )
protected

◆ removeBlock()

void spv::Function::removeBlock ( Block block)
inline

◆ setImplicitThis()

void spv::Function::setImplicitThis ( )
inline

Member Data Documentation

◆ blocks

std::vector<Block*> spv::Function::blocks
protected

◆ functionInstruction

Instruction spv::Function::functionInstruction
protected

◆ implicitThis

bool spv::Function::implicitThis
protected

◆ parameterInstructions

std::vector<Instruction*> spv::Function::parameterInstructions
protected

◆ parent

Module& spv::Function::parent
protected

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