tipc
A TIP to LLVM compiler
PolyTypeConstraintVisitor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CallGraph.h"
5 #include "Unifier.h"
6 
15 public:
17  SymbolTable *pTable, CallGraph *callGraph, std::shared_ptr<Unifier> u,
18  std::unique_ptr<ConstraintHandler> handler);
19 
20  virtual void endVisit(ASTFunAppExpr *element) override;
21 
22 private:
23  CallGraph *callGraph;
24  std::shared_ptr<Unifier> unifier;
25 };
Class for function call expressions.
Definition: ASTFunAppExpr.h:7
Performs control flow analysis and records results for subsequent phases Generates call graph of a pr...
Definition: CallGraph.h:22
Visitor generates polymorphic type constraints and collects them. This visitor is called for a functi...
Definition: PolyTypeConstraintVisitor.h:14
virtual void endVisit(ASTFunAppExpr *element) override
Polymorphic type constraints for function application.
Definition: PolyTypeConstraintVisitor.cpp:37
PolyTypeConstraintVisitor(SymbolTable *pTable, CallGraph *callGraph, std::shared_ptr< Unifier > u, std::unique_ptr< ConstraintHandler > handler)
Definition: PolyTypeConstraintVisitor.cpp:6
Performs symbol analysis and records results for subsequent phases.
Definition: SymbolTable.h:17
Visitor generates type constraints and processes them.
Definition: TypeConstraintVisitor.h:22