commit after reset fuckup
[m6w6/ext-psi] / src / types / impl_func.h
index 740a7aa77217e271d8f9afb6ffa62bc08cbaf786..f55f10c17c5fa2c3cd01ccff9411ff3d213d4b53 100644 (file)
 #ifndef PSI_TYPES_IMPL_FUNC_H
 #define PSI_TYPES_IMPL_FUNC_H
 
-#include "impl_args.h"
-#include "impl_type.h"
-
-typedef struct impl_func {
+struct psi_data;
+struct psi_token;
+struct psi_plist;
+struct psi_impl;
+struct psi_impl_arg;
+struct psi_impl_type;
+
+struct psi_impl_func {
        struct psi_token *token;
-       char *name;
-       impl_args *args;
-       impl_type *return_type;
+       zend_string *name;
+       struct psi_plist *args;
+       struct psi_impl_arg *vararg;
+       struct psi_impl_type *return_type;
        unsigned return_reference:1;
-} impl_func;
-
-impl_func *init_impl_func(char *name, impl_args *args, impl_type *type,
-               int ret_reference);
-void free_impl_func(impl_func *f);
-void dump_impl_func(int fd, impl_func *func);
+       unsigned static_memory:1;
+};
+
+struct psi_impl_func *psi_impl_func_init(zend_string *name,
+               struct psi_plist *args, struct psi_impl_type *return_type);
+void psi_impl_func_free(struct psi_impl_func **f_ptr);
+void psi_impl_func_dump(struct psi_dump *dump, struct psi_impl_func *func);
+bool psi_impl_func_validate(struct psi_data *data, struct psi_impl_func *func,
+               struct psi_validate_scope *scope);
 
 #endif