X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fdecl_struct.h;h=7c379aae2d1c1b7bc7bbd6be14e3954f16f72cbe;hb=698841dfdd4d70d24e0b7af25ac7100bc2cb26a4;hp=4ac9e8ca00bf00389205354154fbd90e0bea582e;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84;p=m6w6%2Fext-psi diff --git a/src/types/decl_struct.h b/src/types/decl_struct.h index 4ac9e8c..7c379aa 100644 --- a/src/types/decl_struct.h +++ b/src/types/decl_struct.h @@ -30,24 +30,21 @@ struct psi_data; struct psi_token; struct psi_plist; struct psi_decl_var; +struct psi_validate_scope; struct psi_decl_struct { struct psi_token *token; - char *name; + zend_string *name; struct psi_plist *args; size_t size; size_t align; - struct { - void *type; - void (*dtor)(void *type); - } engine; }; -struct psi_decl_struct *psi_decl_struct_init(const char *name, struct psi_plist *args); +struct psi_decl_struct *psi_decl_struct_init(zend_string *name, struct psi_plist *args); void psi_decl_struct_free(struct psi_decl_struct **s_ptr); -void psi_decl_struct_dump(int fd, struct psi_decl_struct *strct); +void psi_decl_struct_dump(struct psi_dump *dump, struct psi_decl_struct *strct); -bool psi_decl_struct_validate(struct psi_data *data, struct psi_decl_struct *s); +bool psi_decl_struct_validate(struct psi_data *data, struct psi_decl_struct *s, struct psi_validate_scope *scope); struct psi_decl_arg *psi_decl_struct_get_arg(struct psi_decl_struct *s, struct psi_decl_var *var); size_t psi_decl_struct_get_align(struct psi_decl_struct *s);