@@ -165,7 +165,7 @@ define ____printzv_contents
165
165
set $type = $zvalue ->u1.v.type
166
166
167
167
# 15 == IS_INDIRECT
168
- if $type > 5 && $type != 15
168
+ if $type > 5 && $type < 12
169
169
printf " (refcount=%d) " , $zvalue ->value.counted->gc.refcount
170
170
end
171
171
@@ -215,12 +215,8 @@ define ____printzv_contents
215
215
if ! $arg1
216
216
if $handlers ->get_properties == &zend_std_get_properties
217
217
if $zobj ->properties
218
+ printf " \n Properties "
218
219
set $ht = $zobj ->properties
219
- else
220
- set $ht = &$zobj ->ce->properties_info
221
- end
222
- printf " \n Properties "
223
- if $ht
224
220
set $ind = $ind + 1
225
221
____print_ht $ht 1
226
222
set $ind = $ind - 1
@@ -230,7 +226,19 @@ define ____printzv_contents
230
226
set $i = $i - 1
231
227
end
232
228
else
233
- echo "not found"
229
+ printf " {\n "
230
+ set $ht = &$zobj ->ce->properties_info
231
+ set $k = 0
232
+ set $num = $ht ->nNumUsed
233
+ while $k < $num
234
+ set $p = (Bucket*)($ht ->arData + $k )
235
+ set $name = $p ->key
236
+ set $prop = (zend_property_info*)$p ->val.value.ptr
237
+ set $val = (zval*)((char*)$zobj + $prop ->offset)
238
+ printf " %s => " , $name ->val
239
+ printzv $val
240
+ set $k = $k + 1
241
+ end
234
242
end
235
243
end
236
244
end
@@ -250,17 +258,20 @@ define ____printzv_contents
250
258
printf " CONSTANT_AST"
251
259
end
252
260
if $type == 13
253
- printf " _BOOL"
261
+ printf " indirect: "
262
+ ____printzv $zvalue ->value.zv $arg1
254
263
end
255
264
if $type == 14
256
- printf " CALLABLE "
265
+ printf " pointer: %p " , $zvalue ->value.ptr
257
266
end
258
267
if $type == 15
259
- printf " indirect: "
260
- ____printzv $zvalue ->value.zv $arg1
268
+ printf " _ERROR"
269
+ end
270
+ if $type == 16
271
+ printf " _BOOL"
261
272
end
262
273
if $type == 17
263
- printf " pointer: %p " , $zvalue ->value.ptr
274
+ printf " CALLABLE "
264
275
end
265
276
if $type == 18
266
277
printf " ITERABLE"
@@ -269,9 +280,9 @@ define ____printzv_contents
269
280
printf " VOID"
270
281
end
271
282
if $type == 20
272
- printf " _ERROR "
283
+ printf " _NUMBER "
273
284
end
274
- if $type == 16 || $type > 20
285
+ if $type > 20
275
286
printf " unknown type %d" , $type
276
287
end
277
288
printf " \n "
0 commit comments