- switch (Z_TYPE_P(ref)) {
- case IS_OBJECT:
- zend_update_property(Z_OBJCE_P(ref), ref,
- obj->proxy->member->val, obj->proxy->member->len, value);
- break;
-
- case IS_ARRAY:
- Z_TRY_ADDREF_P(value);
- zend_symtable_update(Z_ARRVAL_P(ref), obj->proxy->member, value);
- break;
-
- default:
-#if DEBUG_PROPRO
- fprintf(stderr, "set_proxied_value: %d: %s\n",
- Z_TYPE_P(ref),
- types[Z_TYPE_P(ref)]);
-#endif
- ZEND_ASSERT(0);
- }
-
- debug_propro(0, "set", obj, NULL, NULL, ref);
-
- if (!Z_ISUNDEF(obj->parent)) {
- set_proxied_value(&obj->parent, ref);
- zval_ptr_dtor(&parent_value);
- }
+ debug_propro(0, "set", obj, NULL, NULL, value);