summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-07-11 18:56:10 +0300
committerDmitry Stogov <dmitry@zend.com>2018-07-11 18:56:10 +0300
commit85ee47eda00d68219f9ff34965bdede1e45f1f63 (patch)
treed8e04f2480b746e1241c57d39dbe6a54f1eec130 /ext/reflection/php_reflection.c
parent2367e649bc98f77202351af9079d6577d072228b (diff)
downloadphp-git-85ee47eda00d68219f9ff34965bdede1e45f1f63.tar.gz
Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index cba4f1d54a..87220dd7d3 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -4939,12 +4939,12 @@ ZEND_METHOD(reflection_class, getTraitAliases)
array_init(return_value);
while (ce->trait_aliases[i]) {
zend_string *mname;
- zend_trait_method_reference *cur_ref = ce->trait_aliases[i]->trait_method;
+ zend_trait_method_reference *cur_ref = &ce->trait_aliases[i]->trait_method;
if (ce->trait_aliases[i]->alias) {
- mname = zend_string_alloc(ZSTR_LEN(cur_ref->ce->name) + ZSTR_LEN(cur_ref->method_name) + 2, 0);
- snprintf(ZSTR_VAL(mname), ZSTR_LEN(mname) + 1, "%s::%s", ZSTR_VAL(cur_ref->ce->name), ZSTR_VAL(cur_ref->method_name));
+ mname = zend_string_alloc(ZSTR_LEN(cur_ref->class_name) + ZSTR_LEN(cur_ref->method_name) + 2, 0);
+ snprintf(ZSTR_VAL(mname), ZSTR_LEN(mname) + 1, "%s::%s", ZSTR_VAL(cur_ref->class_name), ZSTR_VAL(cur_ref->method_name));
add_assoc_str_ex(return_value, ZSTR_VAL(ce->trait_aliases[i]->alias), ZSTR_LEN(ce->trait_aliases[i]->alias), mname);
}
i++;