|
tipc
A TIP to LLVM compiler
|
#include "TypeInference.h"#include "AbsentFieldChecker.h"#include "PolyTypeConstraintCollectVisitor.h"#include "TypeConstraint.h"#include "TypeConstraintCollectVisitor.h"#include "Unifier.h"#include "loguru.hpp"#include <memory>
Functions | |
| void | topoVisit (CallGraph *cg, ASTFunction *f) |
| bool | mayIndirectlyCall (CallGraph *cg, ASTFunction *f, ASTFunction *g) |
| std::deque< ASTFunction * > | topoSort (CallGraph *cg, std::vector< ASTFunction * > funcs) |
| std::vector< ASTFunction * > | recursiveFuncs (CallGraph *cg) |
| std::deque< ASTFunction * > | topoSortNonRecursive (CallGraph *cg) |
| std::shared_ptr< TypeInference > | runPoly (ASTProgram *ast, SymbolTable *symbols, CallGraph *cg) |
| std::shared_ptr< TypeInference > | runMono (ASTProgram *ast, SymbolTable *symbols) |
| bool mayIndirectlyCall | ( | CallGraph * | cg, |
| ASTFunction * | f, | ||
| ASTFunction * | g | ||
| ) |
| std::vector<ASTFunction *> recursiveFuncs | ( | CallGraph * | cg | ) |
| std::shared_ptr<TypeInference> runMono | ( | ASTProgram * | ast, |
| SymbolTable * | symbols | ||
| ) |
| std::shared_ptr<TypeInference> runPoly | ( | ASTProgram * | ast, |
| SymbolTable * | symbols, | ||
| CallGraph * | cg | ||
| ) |
| std::deque<ASTFunction *> topoSort | ( | CallGraph * | cg, |
| std::vector< ASTFunction * > | funcs | ||
| ) |
| std::deque<ASTFunction *> topoSortNonRecursive | ( | CallGraph * | cg | ) |
| void topoVisit | ( | CallGraph * | cg, |
| ASTFunction * | f | ||
| ) |