#ifndef _PSI_TYPES_H
#define _PSI_TYPES_H
-#include "Zend/zend_API.h"
-typedef struct zend_fcall {
- zend_fcall_info fci;
- zend_fcall_info_cache fcc;
-} zend_fcall;
-
#include "token.h"
#include "types/impl_val.h"
#include "types/let_callback.h"
#include "types/let_func.h"
#include "types/let_val.h"
+#include "types/let_vals.h"
#include "types/let_stmt.h"
#include "types/set_func.h"
#include "types/set_value.h"
#include "types/decl_file.h"
#include "types/decl_libs.h"
-
-static inline int weak_decl_type(decl_type *type) {
- switch (type->type) {
- case PSI_T_CHAR:
- case PSI_T_SHORT:
- case PSI_T_INT:
- case PSI_T_LONG:
- case PSI_T_NAME:
- return type->type;
- default:
- return 0;
- }
-}
-
-static inline decl_type *real_decl_type(decl_type *type) {
- while (weak_decl_type(type)) {
- type = type->real.def->type;
- }
- return type;
-}
-
static inline impl_val *deref_impl_val(impl_val *ret_val, decl_var *var) {
unsigned i;
- ZEND_ASSERT(var->arg->var != var);
+ ZEND_ASSERT(!var->arg || var->arg->var != var);
#if 0
fprintf(stderr, "deref: %s pl=%u:%u as=%u:%u %p\n",
var->name, var->pointer_level, var->arg->var->pointer_level,
return ptr;
}
-
-#define PSI_ERROR 16
-#define PSI_WARNING 32
-typedef void (*psi_error_cb)(void *context, struct psi_token *token, int type, const char *msg, ...);
-
#endif