tipc
A TIP to LLVM compiler
FreshAlphaCopier.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Copier.h"
4 
10 class FreshAlphaCopier : public Copier {
11 public:
12  FreshAlphaCopier() = default;
13 
16  static std::shared_ptr<TipType> copy(TipType *t, ASTNode *context);
17 
18  virtual void endVisit(TipAlpha *element) override;
19 
21 };
Abstract base class for all AST nodes.
Definition: ASTNode.h:34
Makes a copy of a TipType.
Definition: Copier.h:10
Makes a copy of a TipType with fresh alphas for the given ASTnode.
Definition: FreshAlphaCopier.h:10
FreshAlphaCopier()=default
static std::shared_ptr< TipType > copy(TipType *t, ASTNode *context)
Definition: FreshAlphaCopier.cpp:7
virtual void endVisit(TipAlpha *element) override
Definition: FreshAlphaCopier.cpp:14
ASTNode * context
Definition: FreshAlphaCopier.h:20
Class for free type variables.
Definition: TipAlpha.h:10
Abstract base class of all types.
Definition: TipType.h:19