X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fimpl_def_val.h;h=360ebb64c329de4db028ce544765ad15adb33bed;hb=698841dfdd4d70d24e0b7af25ac7100bc2cb26a4;hp=66884642d514f2672e082b582a2de56103564f31;hpb=f74ce3f29e2dadd9f839c33ad5292e56e9203efd;p=m6w6%2Fext-psi diff --git a/src/types/impl_def_val.h b/src/types/impl_def_val.h index 6688464..360ebb6 100644 --- a/src/types/impl_def_val.h +++ b/src/types/impl_def_val.h @@ -31,17 +31,22 @@ struct psi_data; struct psi_impl_type; +struct psi_dump; struct psi_impl_def_val { struct psi_token *token; token_t type; - char *text; + union { + struct psi_num_exp *num; + } data; + token_t ityp; impl_val ival; }; -struct psi_impl_def_val *psi_impl_def_val_init(token_t t, const char *text); +struct psi_impl_def_val *psi_impl_def_val_init(token_t t, void *data); void psi_impl_def_val_free(struct psi_impl_def_val **def_ptr); -void psi_impl_def_val_dump(int fd, struct psi_impl_def_val *val); -bool psi_impl_def_val_validate(struct psi_data *data, struct psi_impl_def_val *def, token_t i_type_t, const char *i_type_n); - +void psi_impl_def_val_dump(struct psi_dump *dump, struct psi_impl_def_val *val); +bool psi_impl_def_val_validate(struct psi_data *data, struct psi_impl_def_val *def, + struct psi_impl_type *cmp, struct psi_validate_scope *scope); +void psi_impl_def_val_get_zval(struct psi_impl_def_val *val, token_t typ, zval *z); #endif