tipc
A TIP to LLVM compiler
PolyTypeConstraintCollectVisitor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ASTVisitor.h"
4 #include "ConstraintHandler.h"
6 #include "SymbolTable.h"
7 #include "TipType.h"
8 #include "TypeConstraint.h"
9 #include <memory>
10 #include <set>
11 #include <stack>
12 #include <string>
13 #include <vector>
14 
20 public:
22  CallGraph *callGraph,
23  std::shared_ptr<Unifier> u);
24  std::vector<TypeConstraint> &getCollectedConstraints();
25 
26 private:
27  static std::unique_ptr<ConstraintHandler> buildConstraintHandler();
28 };
Performs control flow analysis and records results for subsequent phases Generates call graph of a pr...
Definition: CallGraph.h:22
Visitor generates type constraints and collects them.
Definition: PolyTypeConstraintCollectVisitor.h:19
std::vector< TypeConstraint > & getCollectedConstraints()
Definition: PolyTypeConstraintCollectVisitor.cpp:15
PolyTypeConstraintCollectVisitor(SymbolTable *pTable, CallGraph *callGraph, std::shared_ptr< Unifier > u)
Definition: PolyTypeConstraintCollectVisitor.cpp:4
Visitor generates polymorphic type constraints and collects them. This visitor is called for a functi...
Definition: PolyTypeConstraintVisitor.h:14
Performs symbol analysis and records results for subsequent phases.
Definition: SymbolTable.h:17