summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2018-09-28 23:16:10 +0200
committerNikita Popov <nikita.ppv@gmail.com>2018-09-28 23:16:10 +0200
commit36a4f58ab9e566b014e73caa24a6fdbc3e8b8f75 (patch)
tree263d454a7934b59cafd76f51eaf0c161205711f9 /ext/reflection/php_reflection.c
parent570f9f628193b5c3c83fde1b5b6a17666259cd30 (diff)
downloadphp-git-36a4f58ab9e566b014e73caa24a6fdbc3e8b8f75.tar.gz
Remove redundant ce from reflection property_reference
The ce is already stored in the main reflection object, no need to store it twice.
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 04bc7f82da..af15675a65 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -103,7 +103,6 @@ PHPAPI zend_class_entry *reflection_zend_extension_ptr;
/* Struct for properties */
typedef struct _property_reference {
- zend_class_entry *ce;
zend_property_info prop;
zend_string *unmangled_name;
zend_bool dynamic;
@@ -1245,7 +1244,6 @@ static void reflection_property_factory(zend_class_entry *ce, zend_string *name,
reflection_instantiate(reflection_property_ptr, object);
intern = Z_REFLECTION_P(object);
reference = (property_reference*) emalloc(sizeof(property_reference));
- reference->ce = ce;
reference->prop = *prop;
reference->unmangled_name = zend_string_copy(name);
reference->dynamic = dynamic;
@@ -5316,7 +5314,6 @@ ZEND_METHOD(reflection_property, __construct)
reference->prop = *property_info;
reference->dynamic = 0;
}
- reference->ce = ce;
reference->unmangled_name = zend_string_copy(name);
intern->ptr = reference;
intern->ref_type = REF_TYPE_PROPERTY;
@@ -5449,7 +5446,7 @@ ZEND_METHOD(reflection_property, getValue)
}
if (ref->prop.flags & ZEND_ACC_STATIC) {
- member_p = zend_read_static_property_ex(ref->ce, ref->unmangled_name, 0);
+ member_p = zend_read_static_property_ex(intern->ce, ref->unmangled_name, 0);
if (member_p) {
ZVAL_COPY_DEREF(return_value, member_p);
}
@@ -5465,7 +5462,7 @@ ZEND_METHOD(reflection_property, getValue)
/* Returns from this function */
}
- member_p = zend_read_property_ex(ref->ce, object, ref->unmangled_name, 0, &rv);
+ member_p = zend_read_property_ex(intern->ce, object, ref->unmangled_name, 0, &rv);
if (member_p != &rv) {
ZVAL_COPY_DEREF(return_value, member_p);
} else {
@@ -5504,13 +5501,13 @@ ZEND_METHOD(reflection_property, setValue)
}
}
- zend_update_static_property_ex(ref->ce, ref->unmangled_name, value);
+ zend_update_static_property_ex(intern->ce, ref->unmangled_name, value);
} else {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "oz", &object, &value) == FAILURE) {
return;
}
- zend_update_property_ex(ref->ce, object, ref->unmangled_name, value);
+ zend_update_property_ex(intern->ce, object, ref->unmangled_name, value);
}
}
/* }}} */
@@ -5529,7 +5526,7 @@ ZEND_METHOD(reflection_property, getDeclaringClass)
}
GET_REFLECTION_OBJECT_PTR(ref);
- ce = tmp_ce = ref->ce;
+ ce = tmp_ce = intern->ce;
while (tmp_ce && (tmp_info = zend_hash_find_ptr(&tmp_ce->properties_info, ref->unmangled_name)) != NULL) {
if (tmp_info->flags & ZEND_ACC_PRIVATE) {
/* it's a private property, so it can't be inherited */