tipc
A TIP to LLVM compiler
|
Makes a copy of a TipType. More...
#include <Copier.h>
Public Member Functions | |
Copier ()=default | |
virtual void | endVisit (TipAlpha *element) override |
virtual void | endVisit (TipVar *element) override |
Substitute if variable is the target. More... | |
![]() | |
Substituter (TipVar *t, std::shared_ptr< TipType > s) | |
std::shared_ptr< TipType > | getResult () |
virtual void | endVisit (TipFunction *element) override |
virtual void | endVisit (TipInt *element) override |
virtual void | endVisit (TipMu *element) override |
virtual void | endVisit (TipRecord *element) override |
virtual void | endVisit (TipAbsentField *element) override |
virtual void | endVisit (TipRef *element) override |
![]() | |
virtual bool | visit (TipAlpha *element) |
virtual bool | visit (TipFunction *element) |
virtual bool | visit (TipInt *element) |
virtual bool | visit (TipMu *element) |
virtual bool | visit (TipRecord *element) |
virtual bool | visit (TipAbsentField *element) |
virtual bool | visit (TipRef *element) |
virtual bool | visit (TipVar *element) |
Static Public Member Functions | |
static std::shared_ptr< TipType > | copy (std::shared_ptr< TipType > s) |
![]() | |
static std::shared_ptr< TipType > | substitute (TipType *t, TipVar *v, std::shared_ptr< TipType > s) |
Substitute for instances of variable in a target type. More... | |
Additional Inherited Members | |
![]() | |
Substituter ()=default | |
![]() | |
std::vector< std::shared_ptr< TipType > > | visitedTypes |
Makes a copy of a TipType.
This subtype of the Substituter overrides the behavior for TipVar and TipAlpha to just copy that node rather than perform a substitution.
|
default |
|
overridevirtual |
Reimplemented from Substituter.
Reimplemented in FreshAlphaCopier.
|
overridevirtual |
Substitute if variable is the target.
Reimplemented from Substituter.