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 | ||
) |