flush
[m6w6/ext-psi] / src / parser.h
index 94860c5248d0e0fd9e6076b4ae90e5e4ce5a2fe5..350213c940d88a133c007b91886bd4a25539cf90 100644 (file)
@@ -7,6 +7,7 @@
 #include <string.h>
 
 #include <Zend/zend_types.h>
+#include <Zend/zend_API.h> /* fcall */
 
 #include "parser_proc.h"
 
@@ -51,6 +52,10 @@ typedef union impl_val {
                zend_bool bval;
                zend_long lval;
                zend_string *str;
+               struct {
+                       zend_fcall_info *fci;
+                       zend_fcall_info_cache *fcc;
+               } cb;
        } zend;
        void *ptr;
        uint8_t _dbg[sizeof(void *)];
@@ -290,6 +295,10 @@ typedef struct decl_callinfo {
        size_t argc;
        void **args;
        void **rval;
+       struct {
+               void *data;
+               void (*dtor)(void *data);
+       } closure;
 } decl_callinfo;
 
 typedef struct decl {