X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fimpl_var.h;h=2a179adcc6f4c845103572c8e97e61a5800c3d03;hb=2fa436074ca9a5e87f39b696de832fa2188fcfc6;hp=e35a8b71486861212a9beeb54cd10fb90ddf43a4;hpb=2f5af21b263403997e154658635d6b6e6eaab453;p=m6w6%2Fext-psi diff --git a/src/types/impl_var.h b/src/types/impl_var.h index e35a8b7..2a179ad 100644 --- a/src/types/impl_var.h +++ b/src/types/impl_var.h @@ -26,19 +26,24 @@ #ifndef PSI_TYPES_IMPL_VAR_H #define PSI_TYPES_IMPL_VAR_H -typedef struct impl_var { +struct psi_token; +struct psi_impl; +struct psi_impl_arg; +struct psi_validate_scope; + +struct psi_impl_var { struct psi_token *token; - char *name; - struct impl_arg *arg; + zend_string *name, *fqn; + struct psi_impl_arg *arg; unsigned reference:1; -} impl_var; - -impl_var *init_impl_var(const char *name, int is_reference); -impl_var *copy_impl_var(impl_var *var); -void free_impl_var(impl_var *var); +}; -struct impl_args; +struct psi_impl_var *psi_impl_var_init(zend_string *name, bool is_reference); +struct psi_impl_var *psi_impl_var_copy(struct psi_impl_var *var); +void psi_impl_var_free(struct psi_impl_var **var_ptr); +void psi_impl_var_dump(int fd, struct psi_impl_var *var, bool vararg); -struct impl_arg *locate_impl_var_arg(impl_var *var, struct impl_args *args); +bool psi_impl_var_validate(struct psi_data *data, struct psi_impl_var *ivar, + struct psi_validate_scope *scope); #endif