X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcontext.h;h=6de73890e8a2dcd6bfa6ec2fedb55f44e67af563;hp=77db31a56fbd5aa8df89224b371a55b7f95767df;hb=8b652242a4ef920f2ab82bfb822596de25bc5a63;hpb=d560a27ff8431c678d25ecf4d8190b562a766f41 diff --git a/src/context.h b/src/context.h index 77db31a..6de7389 100644 --- a/src/context.h +++ b/src/context.h @@ -5,7 +5,7 @@ #define PSI_ERROR 16 #define PSI_WARNING 32 -typedef void (*PSI_ContextErrorFunc)(int type, const char *msg, ...); +typedef void (*PSI_ContextErrorFunc)(void *context, PSI_Token *token, int type, const char *msg, ...); typedef struct PSI_Context PSI_Context; typedef struct PSI_ContextOps PSI_ContextOps; @@ -14,7 +14,7 @@ struct PSI_ContextOps { void (*init)(PSI_Context *C); void (*dtor)(PSI_Context *C); zend_function_entry *(*compile)(PSI_Context *C); - void (*call)(PSI_Context *C, impl_val *ret_val, decl *decl, impl_val **args); + void (*call)(PSI_Context *C, decl_callinfo *decl_call, impl_vararg *va); }; struct PSI_Context { @@ -26,11 +26,13 @@ struct PSI_Context { size_t count; }; -PSI_Context *PSI_ContextInit(PSI_Context *C, PSI_ContextOps *ops, PSI_ContextErrorFunc error); +PSI_Context *PSI_ContextInit(PSI_Context *C, PSI_ContextOps *ops, PSI_ContextErrorFunc error, unsigned flags); void PSI_ContextBuild(PSI_Context *C, const char *path); int PSI_ContextValidate(PSI_Context *C, PSI_Parser *P); +int PSI_ContextValidateData(PSI_Data *C, PSI_Data *D); zend_function_entry *PSI_ContextCompile(PSI_Context *C); -void PSI_ContextCall(PSI_Context *C, impl_val *ret_val, decl *decl, impl_val **args); +void PSI_ContextCall(PSI_Context *C, decl_callinfo *decl_call, impl_vararg *va); +void PSI_ContextDump(PSI_Context *C, int fd); void PSI_ContextDtor(PSI_Context *C); void PSI_ContextFree(PSI_Context **C);