X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fimpl_def_val.h;h=360ebb64c329de4db028ce544765ad15adb33bed;hb=d4bd55e7d9b1cf63cd6fdc96b70010a0c2aca963;hp=b5530bcca2d4bb2bdfaa25cdb02f0a96ff7136e3;hpb=de4f7cc512bbffb5e71290ac48e659dae5e9601d;p=m6w6%2Fext-psi diff --git a/src/types/impl_def_val.h b/src/types/impl_def_val.h index b5530bc..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, struct psi_impl_type *type); - +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