raising the head after a three-weeks refactoring
[m6w6/ext-psi] / src / types / let_callback.h
index e461b5abc43b82a2d3482e33df8c3817f00ff9c8..f7e2bd2d77412ff8c9af3384dae634f16b7167ee 100644 (file)
 #ifndef PSI_TYPES_LET_CALLBACK_H
 #define PSI_TYPES_LET_CALLBACK_H
 
-#include "decl.h"
-
-typedef struct let_callback {
-       struct let_func *func;
-       struct set_values *args;
-       decl *decl;
-} let_callback;
-
-let_callback *init_let_callback(struct let_func *func, struct set_values *args);
-void free_let_callback(let_callback *cb);
-
 struct psi_data;
-struct impl;
-
-int validate_let_callback(struct psi_data *data, decl_var *cb_var, let_callback *cb, struct impl *impl);
+struct psi_impl;
+struct psi_decl;
+struct psi_plist;
+struct psi_let_exp;
+struct psi_let_func;
+
+struct psi_let_callback {
+       struct psi_token *token;
+       struct psi_let_func *func;
+       struct psi_plist *args;
+       struct psi_decl *decl;
+};
+
+struct psi_let_callback *psi_let_callback_init(struct psi_let_func *func, struct psi_plist *args);
+void psi_let_callback_free(struct psi_let_callback **cb_ptr);
+void psi_let_callback_dump(int fd, struct psi_let_callback *cb, unsigned level);
+bool psi_let_callback_validate(struct psi_data *data, struct psi_let_exp *exp, struct psi_let_callback *cb, struct psi_impl *impl);
 
 #endif