validation
[m6w6/ext-psi] / src / types / decl_type.h
index f5aa4dc343f04dfdb474a1c432bb039da28baa07..4e56a23f9baec03a35b4d69eb01673722251d087 100644 (file)
@@ -36,6 +36,7 @@ struct psi_decl_struct;
 struct psi_decl_union;
 struct psi_decl_enum;
 struct psi_decl;
+struct psi_validate_stack;
 
 struct psi_decl_type {
        struct psi_token *token;
@@ -54,9 +55,10 @@ 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, bool is_pointer, struct psi_validate_stack *type_stack);
 
 bool psi_decl_type_validate_args(struct psi_data *data, struct psi_decl_type *decl_type, token_t type, void *current);