dump fixes
[m6w6/ext-psi] / src / types / impl_def_val.h
index 66884642d514f2672e082b582a2de56103564f31..360ebb64c329de4db028ce544765ad15adb33bed 100644 (file)
 
 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