enums
[m6w6/ext-psi] / src / calc.c
index fc3e0437d07bdc7ecac18a887b1b20ec506f378b..efea9003af7093b5f867420afd9557be905bb953 100644 (file)
@@ -4,6 +4,7 @@
 
 #include "php.h"
 #include "php_psi.h"
+#include "calc.h"
 
 static inline int psi_calc_num_exp_value(num_exp *exp, impl_val *strct, impl_val *res) {
        impl_val *ref, *tmp = NULL;
@@ -31,6 +32,10 @@ static inline int psi_calc_num_exp_value(num_exp *exp, impl_val *strct, impl_val
                }
                break;
 
+       case PSI_T_ENUM:
+               return psi_calc_num_exp(exp->u.enm->num ?: &exp->u.enm->inc, NULL, res);
+               break;
+
        case PSI_T_NAME:
                if (strct) {
                        ref = struct_member_ref(exp->u.dvar->arg, strct, &tmp);