fix proto
[m6w6/ext-psi] / src / call.h
index 895fa96ced16d6d32c6311545f0fed2ebf5c9ebb..d84d09da965cbf921daa7186a384ea547bc182ed 100644 (file)
@@ -26,6 +26,7 @@
 #ifndef PSI_CALL_H
 #define PSI_CALL_H
 
+#include <stdbool.h>
 #include "Zend/zend_types.h"
 
 #include "data.h"
@@ -55,7 +56,7 @@ struct psi_call_frame_callback {
 struct psi_call_frame_argument *psi_call_frame_argument_init(struct psi_impl_arg *spec, impl_val *ival, zval *zptr, int is_vararg);
 void psi_call_frame_argument_free(struct psi_call_frame_argument *arg);
 
-struct psi_call_frame_symbol *psi_call_frame_symbol_init();
+struct psi_call_frame_symbol *psi_call_frame_symbol_init(struct psi_decl_var *dvar);
 void psi_call_frame_symbol_free(struct psi_call_frame_symbol *arg);
 
 struct psi_call_frame {
@@ -71,24 +72,29 @@ struct psi_call_frame {
 
 struct psi_call_frame *psi_call_frame_init(struct psi_context *context, struct psi_decl *decl, struct psi_impl *impl);
 
-ZEND_RESULT_CODE psi_call_frame_parse_args(struct psi_call_frame *frame, zend_execute_data *execute_data);
+bool psi_call_frame_parse_args(struct psi_call_frame *frame, zend_execute_data *execute_data);
 
 size_t psi_call_frame_num_var_args(struct psi_call_frame *frame);
 size_t psi_call_frame_num_fixed_args(struct psi_call_frame *frame);
 
 zval *psi_call_frame_new_argument(struct psi_call_frame *frame, struct psi_call_frame_argument *frame_arg);
-zval *psi_call_frame_sub_argument(struct psi_call_frame *frame, struct psi_impl_var *inner_var, zval *outer_zval, const char *name);
+zval *psi_call_frame_sub_argument(struct psi_call_frame *frame, struct psi_impl_var *inner_var, zval *outer_zval, zend_string *name);
 
-struct psi_call_frame_argument *psi_call_frame_get_argument(struct psi_call_frame *frame, const char *name);
+struct psi_call_frame_argument *psi_call_frame_get_argument(struct psi_call_frame *frame, zend_string *name);
 struct psi_call_frame_argument *psi_call_frame_get_var_argument(struct psi_call_frame *frame, zend_long index);
 
 struct psi_call_frame_symbol *psi_call_frame_fetch_symbol(struct psi_call_frame *frame, struct psi_decl_var *dvar);
 
 void psi_call_frame_enter(struct psi_call_frame *frame);
 
+struct psi_context *psi_call_frame_get_context(struct psi_call_frame *frame);
+struct psi_decl *psi_call_frame_get_decl(struct psi_call_frame *frame);
+struct psi_impl *psi_call_frame_get_impl(struct psi_call_frame *frame);
 void **psi_call_frame_get_arg_pointers(struct psi_call_frame *frame);
+void *psi_call_frame_get_rpointer(struct psi_call_frame *frame);
 
-ZEND_RESULT_CODE psi_call_frame_do_let(struct psi_call_frame *frame);
+bool psi_call_frame_do_let(struct psi_call_frame *frame);
+bool psi_call_frame_do_assert(struct psi_call_frame *frame, enum psi_assert_kind kind);
 void psi_call_frame_do_call(struct psi_call_frame *frame);
 void psi_call_frame_do_callback(struct psi_call_frame *frame, struct psi_call_frame_callback *cb);
 void psi_call_frame_do_return(struct psi_call_frame *frame, zval *return_value);