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

#include <ArrayType.h>

Inheritance diagram for mini_llvm::ir::ArrayType:
Collaboration diagram for mini_llvm::ir::ArrayType:

Public Member Functions

 ArrayType (std::unique_ptr< Type > elementType, size_t numElements)
std::unique_ptr< TypeelementType () const
size_t numElements () const
int size () const override
int alignment () const override
int size (int pointerSize) const override
int alignment (int pointerAlignment) 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 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

Constructor & Destructor Documentation

◆ ArrayType()

mini_llvm::ir::ArrayType::ArrayType ( std::unique_ptr< Type > elementType,
size_t numElements )
inline

Member Function Documentation

◆ accept() [1/2]

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

Implements mini_llvm::ir::Type.

◆ accept() [2/2]

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

Implements mini_llvm::ir::Type.

◆ alignment() [1/2]

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

Implements mini_llvm::ir::Type.

◆ alignment() [2/2]

int mini_llvm::ir::ArrayType::alignment ( int pointerAlignment) const
inlineoverridevirtual

Reimplemented from mini_llvm::ir::Type.

◆ clone()

std::unique_ptr< Type > mini_llvm::ir::ArrayType::clone ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ constant()

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

Implements mini_llvm::ir::Type.

◆ demoted()

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

Implements mini_llvm::ir::Type.

◆ elementType()

std::unique_ptr< Type > mini_llvm::ir::ArrayType::elementType ( ) const
inline

◆ equals()

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

Implements mini_llvm::ir::Type.

◆ format()

std::string mini_llvm::ir::ArrayType::format ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Type.

◆ numElements()

size_t mini_llvm::ir::ArrayType::numElements ( ) const
inline

◆ promoted()

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

Implements mini_llvm::ir::Type.

◆ size() [1/2]

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

Implements mini_llvm::ir::Type.

◆ size() [2/2]

int mini_llvm::ir::ArrayType::size ( int pointerSize) const
inlineoverridevirtual

Reimplemented from mini_llvm::ir::Type.

◆ zeroValue()

std::unique_ptr< Constant > mini_llvm::ir::ArrayType::zeroValue ( ) const
overridevirtual

Implements mini_llvm::ir::Type.


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