Merge branch 'slimconfigure'
[m6w6/ext-psi] / src / types / let_callback.h
index e461b5abc43b82a2d3482e33df8c3817f00ff9c8..e10b32a6564afb75b73689e5be5ac7761462ff06 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_plist *cb_args;
+       struct psi_decl *decl;
+       void *info;
+};
+
+struct psi_let_callback *psi_let_callback_init(struct psi_let_func *func, struct psi_plist *args, struct psi_plist *cb_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_callback *cb, struct psi_validate_scope *scope);
 
 #endif