@@ -166,7 +166,7 @@ PHPAPI void php_var_dump(zval *struc, int level) /* {{{ */
166166 break ;
167167 case IS_OBJECT : {
168168 zend_class_entry * ce = Z_OBJCE_P (struc );
169- if (ce -> ce_flags & ZEND_ACC_ENUM ) {
169+ if (ce -> ce_flags & ZEND_ACC_ENUM && ce -> __debugInfo == NULL ) {
170170 zval * case_name_zval = zend_enum_fetch_case_name (Z_OBJ_P (struc ));
171171 php_printf ("%senum(%s::%s)\n" , COMMON , ZSTR_VAL (ce -> name ), Z_STRVAL_P (case_name_zval ));
172172 return ;
@@ -180,11 +180,16 @@ PHPAPI void php_var_dump(zval *struc, int level) /* {{{ */
180180 ZEND_GUARD_OR_GC_PROTECT_RECURSION (guard , DEBUG , zobj );
181181
182182 myht = zend_get_properties_for (struc , ZEND_PROP_PURPOSE_DEBUG );
183- class_name = Z_OBJ_HANDLER_P (struc , get_class_name )(Z_OBJ_P (struc ));
184- const char * prefix = php_var_dump_object_prefix (Z_OBJ_P (struc ));
183+ if (ce -> ce_flags & ZEND_ACC_ENUM ) {
184+ zval * case_name_zval = zend_enum_fetch_case_name (Z_OBJ_P (struc ));
185+ php_printf ("%senum(%s::%s) (%d) {\n" , COMMON , ZSTR_VAL (ce -> name ), Z_STRVAL_P (case_name_zval ), myht ? zend_array_count (myht ) : 0 );
186+ } else {
187+ class_name = Z_OBJ_HANDLER_P (struc , get_class_name )(Z_OBJ_P (struc ));
188+ const char * prefix = php_var_dump_object_prefix (Z_OBJ_P (struc ));
185189
186- php_printf ("%s%sobject(%s)#%d (%d) {\n" , COMMON , prefix , ZSTR_VAL (class_name ), Z_OBJ_HANDLE_P (struc ), myht ? zend_array_count (myht ) : 0 );
187- zend_string_release_ex (class_name , 0 );
190+ php_printf ("%s%sobject(%s)#%d (%d) {\n" , COMMON , prefix , ZSTR_VAL (class_name ), Z_OBJ_HANDLE_P (struc ), myht ? zend_array_count (myht ) : 0 );
191+ zend_string_release_ex (class_name , 0 );
192+ }
188193
189194 if (myht ) {
190195 zend_ulong num ;
0 commit comments