tipc
A TIP to LLVM compiler
TypeConstraintCollectVisitor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ASTVisitor.h"
4 #include "ConstraintHandler.h"
5 #include "SymbolTable.h"
6 #include "TipType.h"
7 #include "TypeConstraint.h"
9 #include <memory>
10 #include <set>
11 #include <stack>
12 #include <string>
13 #include <vector>
14 
20 public:
21  explicit TypeConstraintCollectVisitor(SymbolTable *pTable);
22  std::vector<TypeConstraint> &getCollectedConstraints();
23 
24 private:
25  static std::shared_ptr<ConstraintHandler> buildConstraintHandler();
26 };
Performs symbol analysis and records results for subsequent phases.
Definition: SymbolTable.h:17
Visitor generates type constraints and collects them.
Definition: TypeConstraintCollectVisitor.h:19
TypeConstraintCollectVisitor(SymbolTable *pTable)
Definition: TypeConstraintCollectVisitor.cpp:4
std::vector< TypeConstraint > & getCollectedConstraints()
Definition: TypeConstraintCollectVisitor.cpp:13
Visitor generates type constraints and processes them.
Definition: TypeConstraintVisitor.h:22