X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fdecl_type.h;h=8e80b5e4716afc015fa45b7aefb7e60d21c737d1;hb=ee06f0b1266635ca3cf20dd0373d358d71037ba2;hp=f5aa4dc343f04dfdb474a1c432bb039da28baa07;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84;p=m6w6%2Fext-psi diff --git a/src/types/decl_type.h b/src/types/decl_type.h index f5aa4dc..8e80b5e 100644 --- a/src/types/decl_type.h +++ b/src/types/decl_type.h @@ -36,6 +36,7 @@ struct psi_decl_struct; struct psi_decl_union; struct psi_decl_enum; struct psi_decl; +struct psi_validate_scope; struct psi_decl_type { struct psi_token *token; @@ -54,9 +55,11 @@ struct psi_decl_type { #define psi_decl_type_is_anon(name, type) !strncmp(name, type "@", sizeof(type)) struct psi_decl_type *psi_decl_type_init(token_t type, const char *name); +struct psi_decl_type *psi_decl_type_copy(struct psi_decl_type *src); void psi_decl_type_free(struct psi_decl_type **type_ptr); void psi_decl_type_dump(int fd, struct psi_decl_type *t, unsigned level); -bool psi_decl_type_validate(struct psi_data *data, struct psi_decl_type *type, struct psi_decl_arg *def); +bool psi_decl_type_validate(struct psi_data *data, struct psi_decl_type *type, + struct psi_decl_arg *def, struct psi_validate_scope *scope); bool psi_decl_type_validate_args(struct psi_data *data, struct psi_decl_type *decl_type, token_t type, void *current);