2023-12-17 18:10:17 +00:00
|
|
|
#ifndef RZ_TYSOLVER_H
|
|
|
|
#define RZ_TYSOLVER_H
|
|
|
|
|
|
|
|
#include "commons.h"
|
|
|
|
#include "tysy.h"
|
|
|
|
#include "node.h"
|
|
|
|
#include "sym.h"
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
sym_t* sym;
|
|
|
|
tysy_t* tysy;
|
2023-12-18 13:19:38 +00:00
|
|
|
|
|
|
|
int scope;
|
2023-12-17 18:10:17 +00:00
|
|
|
} tysolver_t;
|
|
|
|
|
|
|
|
void tysolver_init(tysolver_t* tysolver, sym_t* sym, tysy_t* tysy);
|
|
|
|
void tysolver_free(tysolver_t* tysolver);
|
|
|
|
|
|
|
|
type_t* tysolver_try_solve_node(tysolver_t* tysolver, node_t* node);
|
|
|
|
void tysolver_error(tysolver_t* tysolver, node_t* node);
|
|
|
|
|
|
|
|
#endif
|