|
|
|
@ -5649,9 +5649,16 @@ ZEND_METHOD(reflection_property, getValue) |
|
|
|
} |
|
|
|
|
|
|
|
zend_unmangle_property_name_ex(ref->prop.name, &class_name, &prop_name, &prop_name_len); |
|
|
|
member_p = zend_read_property(ref->ce, object, prop_name, prop_name_len, 1, &rv); |
|
|
|
ZVAL_DEREF(member_p); |
|
|
|
ZVAL_COPY(return_value, member_p); |
|
|
|
member_p = zend_read_property(ref->ce, object, prop_name, prop_name_len, 0, &rv); |
|
|
|
if (member_p != &rv) { |
|
|
|
ZVAL_DEREF(member_p); |
|
|
|
ZVAL_COPY(return_value, member_p); |
|
|
|
} else { |
|
|
|
if (Z_ISREF_P(member_p)) { |
|
|
|
zend_unwrap_reference(member_p); |
|
|
|
} |
|
|
|
ZVAL_COPY_VALUE(return_value, member_p); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
/* }}} */ |
|
|
|
|