raising the head after a three-weeks refactoring
[m6w6/ext-psi] / src / types / free_stmt.h
index 131f534ff1528f1ee06aff9ca9a6dcb17d0d0631..1c88cfc5625171288572967e7b10a4074f840f7e 100644 (file)
 #ifndef PSI_TYPES_FREE_STMT_H
 #define PSI_TYPES_FREE_STMT_H
 
-#include "free_calls.h"
-
-typedef struct free_stmt {
-       free_calls *calls;
-} free_stmt;
+struct psi_data;
+struct psi_plist;
+struct psi_impl;
+struct psi_call_frame;
 
-free_stmt *init_free_stmt(free_calls *calls);
-void free_free_stmt(free_stmt *f);
-void dump_free_stmt(int fd, free_stmt *fre);
+struct psi_free_stmt {
+       struct psi_plist *exps;
+};
 
-struct psi_data;
-struct impl;
+struct psi_free_stmt *psi_free_stmt_init(struct psi_plist *calls);
+void psi_free_stmt_free(struct psi_free_stmt **f_ptr);
+void psi_free_stmt_dump(int fd, struct psi_free_stmt *fre);
 
-int validate_free_stmts(struct psi_data *data, struct impl *impl);
+bool psi_free_stmts_validate(struct psi_data *data, struct psi_impl *impl);
+void psi_free_stmt_exec(struct psi_free_stmt *fre, struct psi_call_frame *frame);
 
 #endif