tipc
A TIP to LLVM compiler
|
Abstract base class for all proper types. More...
#include <TipCons.h>
Public Member Functions | |
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... | |
![]() | |
virtual bool | operator== (const TipType &other) const =0 |
virtual bool | operator!= (const TipType &other) const =0 |
virtual | ~TipType ()=default |
virtual void | accept (TipTypeVisitor *visitor)=0 |
Protected Member Functions | |
TipCons (std::vector< std::shared_ptr< TipType >> arguments) | |
![]() | |
virtual std::ostream & | print (std::ostream &out) const =0 |
Protected Attributes | |
std::vector< std::shared_ptr< TipType > > | arguments |
Abstract base class for all proper types.
This virtual type adds common functionality for composite types that have type sub-expressions.
|
default |
|
protected |
|
virtual |
bool TipCons::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.
const std::vector< std::shared_ptr< TipType > > & TipCons::getArguments | ( | ) | const |
void TipCons::setArguments | ( | std::vector< std::shared_ptr< TipType >> & | args | ) |
|
protected |