tipc
A TIP to LLVM compiler
Public Member Functions | Protected Member Functions | List of all members
TipRecord Class Reference

A proper type representing a record. More...

#include <TipRecord.h>

Inheritance diagram for TipRecord:
Inheritance graph
[legend]
Collaboration diagram for TipRecord:
Collaboration graph
[legend]

Public Member Functions

 TipRecord ()=delete
 
 TipRecord (std::vector< std::shared_ptr< TipType >> inits, std::vector< std::string > names)
 
std::vector< std::string > const & getNames () const
 
std::vector< std::shared_ptr< TipType > > & getInits ()
 
bool operator== (const TipType &other) const override
 
bool operator!= (const TipType &other) const override
 
void accept (TipTypeVisitor *visitor) override
 
- Public Member Functions inherited from TipCons
 TipCons ()=default
 
const std::vector< std::shared_ptr< TipType > > & getArguments () const
 
void setArguments (std::vector< std::shared_ptr< TipType >> &args)
 
virtual int arity () const
 
bool doMatch (TipType const *t) const
 Check for dynamic subtype and artity agreement We explicitly test the types here which is not robust to the addition of new subtypes of TipCons. Extend this if you add such a subtype. More...
 
- Public Member Functions inherited from TipType
virtual ~TipType ()=default
 

Protected Member Functions

std::ostream & print (std::ostream &out) const override
 
- Protected Member Functions inherited from TipCons
 TipCons (std::vector< std::shared_ptr< TipType >> arguments)
 

Additional Inherited Members

- Protected Attributes inherited from TipCons
std::vector< std::shared_ptr< TipType > > arguments
 

Detailed Description

A proper type representing a record.

Constructor & Destructor Documentation

◆ TipRecord() [1/2]

TipRecord::TipRecord ( )
delete

◆ TipRecord() [2/2]

TipRecord::TipRecord ( std::vector< std::shared_ptr< TipType >>  inits,
std::vector< std::string >  names 
)

Member Function Documentation

◆ accept()

void TipRecord::accept ( TipTypeVisitor visitor)
overridevirtual

Implements TipType.

◆ getInits()

std::vector< std::shared_ptr< TipType > > & TipRecord::getInits ( )

◆ getNames()

std::vector< std::string > const & TipRecord::getNames ( ) const

◆ operator!=()

bool TipRecord::operator!= ( const TipType other) const
overridevirtual

Implements TipType.

◆ operator==()

bool TipRecord::operator== ( const TipType other) const
overridevirtual

Implements TipType.

◆ print()

std::ostream & TipRecord::print ( std::ostream &  out) const
overrideprotectedvirtual

Implements TipType.


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