+ if (proxy) {
+ ZVAL_UNDEF(&tmp);
+ if (obj) {
+ if (Z_ISUNDEF(obj->parent)) {
+ container = &obj->proxy->container;
+ } else {
+ zval parent_tmp, *parent_container;
+ php_property_proxy_object_t *parent_obj = get_propro(&obj->parent);
+
+ ZVAL_UNDEF(&parent_tmp);
+ parent_container = get_container(&obj->parent, &parent_tmp);
+ container = get_container_value(parent_container, parent_obj->proxy->member, &tmp);
+ }
+ }
+ fprintf(stderr, " container= %-14p < %-10s rc=%-11d ",
+ Z_REFCOUNTED_P(container) ? Z_COUNTED_P(container) : NULL,
+ _type(container),
+ Z_REFCOUNTED_P(container) ? Z_REFCOUNT_P(container) : 0);
+ if (Z_ISREF_P(container)) {
+ zval *ref = Z_REFVAL_P(container);
+ fprintf(stderr, " %-12s %p rc=% 2d",
+ _type(ref),
+ ref->value.counted,
+ Z_REFCOUNTED_P(ref) ? Z_REFCOUNT_P(ref) : -1);
+ }
+ fprintf(stderr, "> ");
+ }
+
+ width = _walk(obj);