mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::ir::FunctionType Class Referencefinal

#include <FunctionType.h>

Inheritance diagram for mini_llvm::ir::FunctionType:
Collaboration diagram for mini_llvm::ir::FunctionType:

Public Types

using param_type_iterator = IndirectIterator<std::vector<std::unique_ptr<Type>>::const_iterator, Type>

Public Member Functions

 FunctionType (std::unique_ptr< Type > returnType, std::vector< std::unique_ptr< Type > > paramTypes, bool isVarArgs)
std::unique_ptr< TypereturnType () const
param_type_iterator param_type_begin () const
param_type_iterator param_type_end () const
bool param_type_empty () const
size_t param_type_size () const
bool isVarArgs () const
int size () const override
int alignment () const override
std::unique_ptr< ConstantzeroValue () const override
std::unique_ptr< Constantconstant (int64_t) const override
std::unique_ptr< Typepromoted () const override
std::unique_ptr< Typedemoted () const override
std::string format () const override
std::unique_ptr< Typeclone () const override
void accept (TypeVisitor &visitor) override
void accept (TypeVisitor &visitor) const override
Public Member Functions inherited from mini_llvm::ir::Type
virtual ~Type ()=default
 Type ()=default
 Type (const Type &)=delete
Typeoperator= (const Type &)=delete
 Type (Type &&)=delete
Typeoperator= (Type &&)=delete
virtual int size (int) const
virtual int alignment (int) const
virtual int bitSize () const
virtual int bitAlignment () const
virtual int bitSize (int pointerSize) const
virtual int bitAlignment (int pointerAlignment) const

Protected Member Functions

bool equals (const Type &other) const override

Member Typedef Documentation

◆ param_type_iterator

using mini_llvm::ir::FunctionType::param_type_iterator = IndirectIterator<std::vector<std::unique_ptr<Type>>::const_iterator, Type>

Constructor & Destructor Documentation

◆ FunctionType()

mini_llvm::ir::FunctionType::FunctionType ( std::unique_ptr< Type > returnType,
std::vector< std::unique_ptr< Type > > paramTypes,
bool isVarArgs )
inline

Member Function Documentation

◆ accept() [1/2]

void mini_llvm::ir::FunctionType::accept ( TypeVisitor & visitor) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ accept() [2/2]

void mini_llvm::ir::FunctionType::accept ( TypeVisitor & visitor)
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ alignment()

int mini_llvm::ir::FunctionType::alignment ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ clone()

std::unique_ptr< Type > mini_llvm::ir::FunctionType::clone ( ) const
overridevirtual

Implements mini_llvm::ir::Type.

◆ constant()

std::unique_ptr< Constant > mini_llvm::ir::FunctionType::constant ( int64_t ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ demoted()

std::unique_ptr< Type > mini_llvm::ir::FunctionType::demoted ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ equals()

bool mini_llvm::ir::FunctionType::equals ( const Type & other) const
overrideprotectedvirtual

Implements mini_llvm::ir::Type.

◆ format()

std::string mini_llvm::ir::FunctionType::format ( ) const
overridevirtual

Implements mini_llvm::ir::Type.

◆ isVarArgs()

bool mini_llvm::ir::FunctionType::isVarArgs ( ) const
inline

◆ param_type_begin()

param_type_iterator mini_llvm::ir::FunctionType::param_type_begin ( ) const
inline

◆ param_type_empty()

bool mini_llvm::ir::FunctionType::param_type_empty ( ) const
inline

◆ param_type_end()

param_type_iterator mini_llvm::ir::FunctionType::param_type_end ( ) const
inline

◆ param_type_size()

size_t mini_llvm::ir::FunctionType::param_type_size ( ) const
inline

◆ promoted()

std::unique_ptr< Type > mini_llvm::ir::FunctionType::promoted ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ returnType()

std::unique_ptr< Type > mini_llvm::ir::FunctionType::returnType ( ) const
inline

◆ size()

int mini_llvm::ir::FunctionType::size ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ zeroValue()

std::unique_ptr< Constant > mini_llvm::ir::FunctionType::zeroValue ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.


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