tipc
A TIP to LLVM compiler
TipTypeVisitor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Type.h"
4 
25 public:
26  virtual bool visit(TipAlpha *element) { return true; }
27  virtual void endVisit(TipAlpha *element) {}
28  virtual bool visit(TipFunction *element) { return true; }
29  virtual void endVisit(TipFunction *element) {}
30  virtual bool visit(TipInt *element) { return true; }
31  virtual void endVisit(TipInt *element) {}
32  virtual bool visit(TipMu *element) { return true; }
33  virtual void endVisit(TipMu *element) {}
34  virtual bool visit(TipRecord *element) { return true; }
35  virtual void endVisit(TipRecord *element) {}
36  virtual bool visit(TipAbsentField *element) { return true; }
37  virtual void endVisit(TipAbsentField *element) {}
38  virtual bool visit(TipRef *element) { return true; }
39  virtual void endVisit(TipRef *element) {}
40  virtual bool visit(TipVar *element) { return true; }
41  virtual void endVisit(TipVar *element) {}
42 };
A proper type representing an absent record field.
Definition: TipAbsentField.h:12
Class for free type variables.
Definition: TipAlpha.h:10
A proper type representing a function.
Definition: TipFunction.h:14
A proper type representing an int.
Definition: TipInt.h:12
Class representing a recursive type.
Definition: TipMu.h:12
A proper type representing a record.
Definition: TipRecord.h:14
A proper type representing a reference.
Definition: TipRef.h:10
Base class for TIP type visitors.
Definition: TipTypeVisitor.h:24
virtual void endVisit(TipMu *element)
Definition: TipTypeVisitor.h:33
virtual bool visit(TipInt *element)
Definition: TipTypeVisitor.h:30
virtual bool visit(TipRef *element)
Definition: TipTypeVisitor.h:38
virtual void endVisit(TipInt *element)
Definition: TipTypeVisitor.h:31
virtual bool visit(TipFunction *element)
Definition: TipTypeVisitor.h:28
virtual void endVisit(TipRecord *element)
Definition: TipTypeVisitor.h:35
virtual bool visit(TipVar *element)
Definition: TipTypeVisitor.h:40
virtual void endVisit(TipVar *element)
Definition: TipTypeVisitor.h:41
virtual bool visit(TipAlpha *element)
Definition: TipTypeVisitor.h:26
virtual void endVisit(TipAbsentField *element)
Definition: TipTypeVisitor.h:37
virtual bool visit(TipAbsentField *element)
Definition: TipTypeVisitor.h:36
virtual void endVisit(TipFunction *element)
Definition: TipTypeVisitor.h:29
virtual void endVisit(TipAlpha *element)
Definition: TipTypeVisitor.h:27
virtual bool visit(TipMu *element)
Definition: TipTypeVisitor.h:32
virtual bool visit(TipRecord *element)
Definition: TipTypeVisitor.h:34
virtual void endVisit(TipRef *element)
Definition: TipTypeVisitor.h:39
Class representing a type variable.
Definition: TipVar.h:13